Redis的淘汰策略


1.简介

  Redis官方给的警告,当内存不足时,Redis会根据配置的缓存策略淘汰部分keys,以保证写入成功。当无淘汰策略时或没有找到适合淘汰的key时,Redis直接返回out of memory错误。

2.最大缓存配置

  在redis中,允许用户设置的最大使用内存大小是 512G。

  在 redis 中,允许用户设置最大使用内存大小 server.maxmemory,在内存限定的情况下是很有用的。譬如,在一台 8G 机子上部署了 4 个 redis 服务点,每一个服务点分配 1.5G 的内存大小,减少内存紧张的情况,由此获取更为稳健的服务。

3.6种数据淘汰策略

  1、volatile-lru:从已设置过期时间(expire)的keys中挑选最近最少使用的数据淘汰 (默认)

  2、volatile-ttl:从已设置过期时间的keys中; 优先删除剩余时间(time to live,TTL) 短的key

  3、volatile-random:从已设置过期时间的key中任意选择数据淘汰

  4、allkeys-lru:所有key通用; 优先删除最近最少使用(less recently used ,LRU) 的 key。

  5、allkeys-random:所有key通用; 随机删除一部分 key。

  6、no eviction(禁止驱逐): 返回错误  

4.建议

     了解了Redis的淘汰策略之后,在平时使用时应尽量主动设置/更新key的expire时间,主动剔除不活跃的旧数据,有助于提升查询性能。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM