V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
yantianqi
V2EX  ›  程序员

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

  •  
  •   yantianqi · 2017-11-24 17:09:07 +08:00 · 1807 次点击
    这是一个创建于 2338 天前的主题,其中的信息可能已经有所发展或是发生改变。
    app.use(session({
      name: 'aaaa',
      secret: 'dddd',
      resave: true,
      saveUninitialized: false,
      cookie: {
        maxAge: 1000 * 60 * 60
      }
    }))
    
    3 条回复    2017-11-24 17:25:17 +08:00
    owenliang
        1
    owenliang  
       2017-11-24 17:13:06 +08:00
    cookie 是给客户端的,服务端的 session 缓存生命期在哪里设置的?
    haozhang
        2
    haozhang  
       2017-11-24 17:17:20 +08:00 via iPhone
    你的 session 信息都在内存里,内存断电或者程序重启 session 信息全掉了,你可以把 session 落盘,存数据库里。
    noe132
        3
    noe132  
       2017-11-24 17:25:17 +08:00
    session 默认保存在内存
    可以用 store 选项保存到数据库。

    maxAge 是客户端的 cookie 过期,
    服务端过期的话就在 session 创建时在 session 里创建一个时间戳
    写一个中间件,每个请求判断一下 session 是否超过时间,删除超过时间的 session
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2850 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 13:33 · PVG 21:33 · LAX 06:33 · JFK 09:33
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.