Redis内存不足,即使使用allkeys-lru策略也是如此

时间:2014-07-28 07:39:29

标签: redis

我有一台带有maxmemory 512MBmaxmemory-policy allkeys-lru的Redis服务器,但是一旦服务器在使用一天后填满,我就无法再添加任何项目了:

redis 127.0.0.1:6379[3]> set foooo 123
(error) OOM command not allowed when used memory > 'maxmemory'.

恕我直言,LRU政策永远不会发生。

我将一些服务器信息复制到此Pasebin:http://pastebin.com/qkax4C7A

我该如何解决这个问题?

注意:我尝试使用maxmemory因为我的Redis服务器不断占用内存,即使几乎所有密钥都有过期设置并且因为FLUSHDB没有释放系统内存 - 也许这是相关的..

最后,我尝试将Redis用作缓存。

1 个答案:

答案 0 :(得分:4)

您的info输出表明Lua脚本占用了很多服务器的内存:

used_memory_lua:625938432

请注意,在重新启动服务器或调用SCRIPT FLUSH之前,Lua脚本将保留在内存中。看起来好像你正在动态生成Lua脚本......