【问题标题】:Prevent setting TTL for connect-redis session to allow allkeys-lru for memory policy防止为 connect-redis 会话设置 TTL 以允许 allkeys-lru 用于内存策略
【发布时间】:2012-10-31 09:23:52
【问题描述】:

我已经使用 connect-redis 和 redis 包设置了一个非常简单的 RedisStore。我有一个专门用于 Session 存储的盒子,并且想使用 allkeys-lru maxmemory 策略来进行驱逐而不是 TTL。

connect-redis 的存储似乎不允许设置 TTL(我在创建存储时尝试在选项对象中使用 -1,看起来将 TTL 设置为 0)。有关如何执行此操作的任何建议?

另外,有没有人明白为什么这可能是一种不好的做法?

【问题讨论】:

    标签: node.js express redis connect


    【解决方案1】:

    看看relevant source code,好像connect-redis 不会让你在没有过期密钥的情况下使用它。在我看来,您有两种选择:

    • 编写您自己的会话存储,继承自 connect-redis 的 RedisStore 但覆盖 set,或者
    • 指定一个巨大的maxAge,以使密钥在很远的将来过期。

    我没有看到密钥不过期并改用 lru 的问题。

    【讨论】:

    • 谢谢 linus,我打算继承 store 并覆盖方法
    猜你喜欢
    • 2016-06-20
    • 2021-10-16
    • 1970-01-01
    • 2023-03-14
    • 1970-01-01
    • 2020-10-02
    • 1970-01-01
    • 2014-07-14
    • 1970-01-01
    相关资源
    最近更新 更多