Redis + Resque:哪个 maxmemory-policy 将 redis 与 Resque 一起使用?

Redis+Resque: Which maxmemory-policy for using redis with Resque?

将 Resque 与 redis 一起使用 我遇到了 redis 的 OOM command not allowed when used memory > 'maxmemory' 错误。现在很明显,我似乎应该将 redis 的内存从当前的 500MB 增加,但我想确保我也设置了正确的最大内存/数据驱逐策略,以便将 redis 与 resque 一起使用。目前它在 volatile-lru 上。 (我正在寻找这方面的文档,但找不到任何东西。)

以及来自 redis 的以下数据..

keys=81824,expires=0,avg_ttl=0
evicted_keys    0
expired_keys    0

...让我相信我配置错误,添加更多内存只会推迟问题。

如果重要复制和数据持久性目前都已关闭。

使用 Resque 时,您不希望 Resque 的任何键被 Redis 逐出。 Resque 本身将删除不再需要的密钥。因此,您应该使用 noevictionvolatile-lru 作为 maxmemory-policy;也不会驱逐没有设置过期时间的密钥。

如果 Redis 使用这些策略耗尽内存,这意味着您的 Resque 队列变得太长,您需要增加 maxmemory(并可能提供更多 RAM)或减少 Resque 作业的数量(使用数据批处理技术等)。