为了调试,我们将 Redis 设置为 volitile-lru 和 10mb 的最大内存
我们在电子商务商店中使用 Redis 进行 HTTP 缓存 - 当页面上有并行请求时,错误:
OOM command not allowed when used memory > 'maxmemory'
出现。难道不应该通过将 maxmemory-policy 设置为 volitile-lru 来避免这种情况吗? redis 是否不够快,无法释放内存并设置新内存(每个请求大约有 200-600kb)
最佳答案
来自文档:
volatile-lru:通过首先尝试移除最近较少使用的 (LRU) 键来逐出键,但仅在设置了过期的键中,以便为添加的新数据腾出空间。
您的 key 似乎没有过期。如果是这种情况,您可能需要考虑使用 allkeys-lru
作为驱逐政策。
您还可以使用 INFO stats
查看 evicted_keys
的值是否大于零。
关于caching - Redis 缓存使用 volitile-lru 抛出 OOM 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50123718/