【问题标题】:How to use redis store in express session using connect-redis?如何使用 connect-redis 在快速会话中使用 redis 存储?
【发布时间】:2017-11-13 03:23:20
【问题描述】:

我正在尝试寻找一个教程来解释您如何使用快速会话在 redis 存储中设置用户会话。我知道如何设置它,但我不知道如何访问 redis 存储以及如何从该 redis 存储中存储和检索值?

【问题讨论】:

    标签: session express express-session session-store


    【解决方案1】:

    我假设您想要存储和读取会话中的值(使用 express-session 模块)而不是直接使用 redis。为此,您需要在请求中使用 req.session 对象。

    查看文档中的函数 - https://github.com/expressjs/session#reqsession

    如果您尝试将某些值直接存储到 redis 中(可能将 redis 用于多种用途),请查看 https://www.npmjs.com/package/redis

    【讨论】:

    • 我正在使用 connect-redis 进行会话管理,并在快速会话中传递一个 redis 存储。问题是每次我在护照js(req.session.key=req.user)的/auth/facebook/callback 路由中设置用户的值。我的 /session_accessor 路由中未定义此键。如何在另一条路线中获取会话值?我假设我没有正确设置值
    • 如果您使用的是 passportjs,您根本不需要自己与 redis 交互。您只需按照此处passportjs.org/docs/configure 的文档中所示设置中间件,passport 将为您处理会话,然后您只需返回并将 redis 插入到 express-session 中,然后再将其交给 passport。 req.session 将使用 serialize 和 deserialize 函数填充和读取。这再次消除了自己与 req.session 交互的需要。
    猜你喜欢
    • 2016-10-21
    • 2020-05-31
    • 1970-01-01
    • 1970-01-01
    • 2021-05-22
    • 2012-10-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多