node.js 持久登录,为啥没两分钟就掉了。这里不是设置 60 分钟吗?

2017-11-24 17:09:07 +08:00
 yantianqi
app.use(session({
  name: 'aaaa',
  secret: 'dddd',
  resave: true,
  saveUninitialized: false,
  cookie: {
    maxAge: 1000 * 60 * 60
  }
}))
1813 次点击
所在节点    程序员
3 条回复
owenliang
2017-11-24 17:13:06 +08:00
cookie 是给客户端的,服务端的 session 缓存生命期在哪里设置的?
haozhang
2017-11-24 17:17:20 +08:00
你的 session 信息都在内存里,内存断电或者程序重启 session 信息全掉了,你可以把 session 落盘,存数据库里。
noe132
2017-11-24 17:25:17 +08:00
session 默认保存在内存
可以用 store 选项保存到数据库。

maxAge 是客户端的 cookie 过期,
服务端过期的话就在 session 创建时在 session 里创建一个时间戳
写一个中间件,每个请求判断一下 session 是否超过时间,删除超过时间的 session

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/409284

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX