Redis
数据淘汰策略
redis.conf
Redis 官方给的警告,当内存不足时, Redis 会根据配置的缓存策略淘汰部分 Keys ,以保证写入成功。当无 淘汰策略时或没有找到适合淘汰的 Key 时, Redis 直接返回 out of memory 错误。最大缓存配置 在 redis 中,允许用户设置最大使用内存大小 maxmemory 512G
redis提供8种数据淘汰策略:(前两种经常使用,尤其第二种)
• volatile-lru:从已设置过期时间的数据集中挑选最近最少使用的数据淘汰• volatile-lfu:从已设置过期的Keys中,删除一段时间内使用次数最少使用的• volatile-ttl: 从已设置过期时间的数据集中挑选最近将要过期的数据淘汰• volatile-random:从已设置过期时间 的数据集中随机选择数据淘汰• allkeys-lru:从数据集中挑选最近最少使用的数据淘汰• allkeyslfu:从所有Keys中,删除一段时间内使用次数最少使用的• allkeys-random:从数据集中随机选择 数据淘汰• no-enviction(驱逐):禁止驱逐数据(不采用任何淘汰策略。默认即为此配置),针对写操作,返回错误信息
建议:了解了
Redis
的淘汰策略之后,在平时使用时应尽量主动设置
/
更新
key
的
expire
时间,主动剔除不活跃的旧数据,有助于提升查询性能