我正在尝试将 Redis session 集成到我用 Node.js 编写的身份验证系统中。
我已经能够成功搭建Redis服务器,connect-redis
和Express服务器。
这是我的设置(只是重要的一点):
var express = require("express");
var RedisStore = require("connect-redis")(express);
var redis = require("redis").createClient();
app.use(express.cookieParser());
app.use(express.session({
secret: "thisismysecretkey",
store: new RedisStore({ host: 'localhost', port: 6379, client: redis })
}));
现在...我如何实际创建、读取和销毁 session ?我知道这可能非常简单。我已经阅读了大量关于如何设置 connect-redis
的文章以及关于 SO 的许多问题,但我发誓每篇文章都只停留在配置上,并没有解释如何实际使用它...
最佳答案
这应该就是它的全部了。您可以通过 req.session
访问路由处理程序中的 session 。 session 会自动创建、保存和销毁。
如果您需要为用户手动创建新 session ,请调用 req.session.regenerate()
。
如果需要手动保存,可以调用req.session.save()
。
如果需要手动销毁,可以调用req.session.destroy()
。
见 the Connect documentation获取方法和属性的完整列表。
关于node.js - 如何从 Redis 保存和检索 session ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14014446/