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 本身将删除不再需要的密钥。因此,您应该使用 noeviction
或 volatile-lru
作为 maxmemory-policy
;也不会驱逐没有设置过期时间的密钥。
如果 Redis 使用这些策略耗尽内存,这意味着您的 Resque 队列变得太长,您需要增加 maxmemory
(并可能提供更多 RAM)或减少 Resque 作业的数量(使用数据批处理技术等)。
将 Resque 与 redis 一起使用 我遇到了 redis 的 OOM command not allowed when used memory > 'maxmemory'
错误。现在很明显,我似乎应该将 redis 的内存从当前的 500MB 增加,但我想确保我也设置了正确的最大内存/数据驱逐策略,以便将 redis 与 resque 一起使用。目前它在 volatile-lru 上。 (我正在寻找这方面的文档,但找不到任何东西。)
keys=81824,expires=0,avg_ttl=0
evicted_keys 0
expired_keys 0
...让我相信我配置错误,添加更多内存只会推迟问题。
如果重要复制和数据持久性目前都已关闭。
使用 Resque 时,您不希望 Resque 的任何键被 Redis 逐出。 Resque 本身将删除不再需要的密钥。因此,您应该使用 noeviction
或 volatile-lru
作为 maxmemory-policy
;也不会驱逐没有设置过期时间的密钥。
如果 Redis 使用这些策略耗尽内存,这意味着您的 Resque 队列变得太长,您需要增加 maxmemory
(并可能提供更多 RAM)或减少 Resque 作业的数量(使用数据批处理技术等)。