- redis提供了6种数据淘汰策略:
- volatile-lru:从已设置过期时间的数据集中挑选最近最少使用的数据淘汰。
- volatile-ttl:从已设置过期时间的数据集中挑选将要过期的数据淘汰。
- volatile-random:从已设置过期时间的数据集中任意选择数据淘汰。
- allkeys-lru(最常用):当内存不足以容纳新写入数据时,在键空间中,移出最近最少使用的key。
- allkeys-random:当内存不足以容纳新写入数据时,从数据集中任意选择数据淘汰。
- no-eviction(不使用):禁止驱逐数据。就是说当内存不足以容纳新写入数据时,新写入操作会报错
- 4.0版本之后又增加了2种:
- volatile-lfu:从已设置过期时间的数据集中挑选最不经常使用的数据淘汰。
- allkeys-lfu:当内存不足以容纳新写入数据时,在键空间中,移出最不经常使用的key。
- 手写LRU算法