具有 RedisStore session 超时的 Node.JS

标签 node.js heroku redis

我正在使用 Redis 在我的 node.js 应用程序中存储 session ,该应用程序托管在 heroku 上,但 Redis 正在保存 session ,我如何让它们自动过期?

我的 express 应用是这样配置的:

var app = express.createServer(
  express.static(__dirname + '/public', { maxAge: 31557600000 }),
  express.cookieParser(),

    express.session({ secret: 'secret', store: new RedisStore({
          host: 'myredishost',
          port: 'port',
          pass: 'myredispass',
          db: 'dbname'
      })})
);

最佳答案

正如 Connect session 中间件文档所述,您需要在 cookie 对象上设置 maxAge 属性:

express.session({ secret: 'secret', store: ..., cookie: { maxAge: 60000 }});

在这里阅读更多相关信息:http://senchalabs.github.com/connect/middleware-session.html

关于具有 RedisStore session 超时的 Node.JS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8674138/

相关文章:

javascript - 找不到模块'../build/Release/opencv4nodejs

javascript - stub 模块功能

python - 尝试在 python virtualenv 中安装 django-toolkit 时出错

c# - Redis 是本地缓存的可行解决方案吗?

ruby-on-rails - 在 Rails 中存储 ~1000 个字符串元素数组的首选方法是什么?

redis - Redis 服务器重启后服务堆栈 Redis 重新连接

javascript - Node.js 将两个数组与对象进行比较

javascript - 使用 Node.js 和 SSH2 从 SFTP 服务器读取文件

python - Heroku python 应用程序抛出错误 - KeyError : 'pip._vendor.urllib3.util.queue'

python - 将 Flask 应用程序部署到 Heroku 会出现来自 psycopg2 的 ImportError