redis的maxmemory与maxmemory-policy关系

Posted Jandison

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了redis的maxmemory与maxmemory-policy关系相关的知识,希望对你有一定的参考价值。

如果redis配置了maxmemory和maxmemory-policy策略,则当redis内存数据达到maxmemory时,会根据maxmemory-policy配置来淘汰内存数据,以避免OOM。
redis提供了以下6种淘汰策略:
1,noeviction:不执行任何淘汰策略,当达到内存限制的时候客户端执行命令会报错。
2,allkeys-lru:从所有数据范围内查找到最近最少使用的数据进行淘汰,直到有足够的内存来存放新数据。
3,volatile-lru:从所有的最近最少访问数据范围内查找设置到过期时间的数据进行淘汰,如果查找不到数据,则回退到noeviction。
4,allkeys-random:从所有数据范围内随机选择key进行删除。
5,volatile-random:从设置了过期时间的数据范围内随机选择key进行删除。
6,volatile-ttl:从设置了过期时间的数据范围内优先选择设置了TTL的key进行删除。








以上是关于redis的maxmemory与maxmemory-policy关系的主要内容,如果未能解决你的问题,请参考以下文章

Redis: userd_memory使用超出maxmemory

redis内存管理

Redis内存置换策略

08.Redis内存分配与优化

Redis额内存回收策略和内存上限

如何用Redis做LRU-Cache