欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Redis数据淘汰策略

程序员文章站 2022-08-28 22:39:42
1、淘汰简介 Redis官方给的警告,当内存不足时,Redis会根据配置的缓存策略淘汰部分keys,以保证写入成功。当无淘汰策略时或没有找到适合淘汰的key时,Redis直接返回out of memory错误。 2、最大缓存配置 在redis中,允许用户设置的最大使用内存大小是 512G。 在 re ......

1、淘汰简介

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

 

2、最大缓存配置

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

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

3、6种数据淘汰策略

1volatile-lru:从已设置过期时间的数据集(server.db[i].expires)中挑选最近最少使用的数据淘汰

2volatile-ttl:从已设置过期时间的数据集(server.db[i].expires)中挑选将要过期的数据淘汰

3volatile-random:从已设置过期时间的数据集(server.db[i].expires)中任意选择数据淘汰

4allkeys-lru:从数据集(server.db[i].dict)中挑选最近最少使用的数据淘汰

5allkeys-random:从数据集(server.db[i].dict)中任意选择数据淘汰

6no-enviction(驱逐):禁止驱逐数据

 

4、建议

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