在redis中使用Resque我一直在收到redis的OOM command not allowed when used memory > 'maxmemory'
错误。现在显然我似乎应该增加当前500MB的内存redis,但我想确保我有正确的max-memory / data-eviction策略集,以便使用带有resque的redis。目前它在volatile-lru上。 (我在这方面找文档,但找不到任何东西。)
this stackoverflow answer以及来自redis的以下数据..
keys=81824,expires=0,avg_ttl=0
evicted_keys 0
expired_keys 0
...让我相信我有一些配置错误,增加更多内存只会解决问题。
如果重要,复制和数据持久性目前都已关闭。
答案 0 :(得分:1)
使用Resque时,您不希望Redis驱逐任何Resque的密钥。 Resque本身将删除不再需要的键。因此,您应使用noeviction
或volatile-lru
作为maxmemory-policy
;也不会驱逐没有设定过期时间的密钥。
如果Redis使用这些策略耗尽内存,这意味着您的Resque队列变得太长,您需要增加maxmemory
(并可能提供更多RAM)或减少Resque作业的数量(使用数据)批处理技术等。)。