我正在使用 heroku 上托管的 nodejs (expressjs) .
session 存储在 redis 中(Redistogo heroku 插件):
RedisStore = require('connect-redis')(express)
app.use express.session
secret: process.env.CLIENT_SECRET
cookie: { maxAge: 604800000 }
store: new RedisStore {client: redis}
用户登录后,我将他的信息存储在 req.session 中
after_user_logged_id = (req, user)->
req.session.current_user =
id: user._id
name: user.name
我需要重新启动服务器并清理所有 session :注销所有用户以强制他们再次登录。我应该怎么做?重新启动 redis 插件没有帮助。
最佳答案
redis.flushdb() 可能有点极端,如果你最终在 redis 中存储其他东西。您只需要删除所有“sess:*”键。不幸的是,没有 del *,所以你可以使用这样的东西:
redis.keys("sess:*", function(err, key) {
redis.del(key, function(err) {
});
});
关于node.js - 如何清理 Nodejs (heroku + redis) 中的所有 session ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14708656/