防止为 connect-redis 会话设置 TTL 以允许 allkeys-lru 进行内存策略

问题描述 投票:0回答:1

我使用 connect-redis 和 redis 包设置了一个非常简单的 RedisStore。我有一个用于会话存储的专用盒子,并且希望使用 allkeys-lru 最大内存策略来进行逐出,而不是 TTL。

connect-redis 的存储似乎不允许设置 TTL(我尝试在创建存储时在选项对象中使用 -1,看起来将 TTL 设置为 0)。关于如何做到这一点有什么建议吗?

还有,有人明白为什么这可能是一个不好的做法吗?

node.js express redis connect-redis
1个回答
2
投票

查看相关源代码,似乎connect-redis不会让你在密钥过期的情况下使用它。在我看来,你有两个选择:

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

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

© www.soinside.com 2019 - 2024. All rights reserved.