为了调试,我们将redis设置为volitile lru,最大内存为10MB
我们正在电子商务商店中使用redis进行http缓存-当页面上有并行请求时,错误:

OOM command not allowed when used memory > 'maxmemory'

出现。是否应该通过将maxmemory策略设置为volitile lru来避免这种情况?redis设置内存和设置新内存的速度不够快吗(每个请求大约有200-600kb)

最佳答案

从文档中:
volatile-lru: evict keys by trying to remove the less recently used (LRU) keys first, but only among keys that have an expire set, in order to make space for the new data added.
你的钥匙好像没有过期。如果是这种情况,您可能需要考虑使用allkeys-lru作为逐出策略。
您还可以使用INFO stats查看evicted_keys的值是否大于零。

关于caching - Redis Cache使用volitile-lru抛出OOM错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50123718/

10-11 07:31