这里面其实就只是分了两种:
- 包含过期的key
- 所有的key
每种key都有这么几种策略:
lru:最近最不经常使用,跟使用的最后一次时间有关,淘汰最近使用时间离现在最久的。
lfu:最近最少使用,跟使用的次数有关,淘汰使用次数最少的。
ttl:如果设置过期时间,则从已经过期的时间中挑选将要过期的。
random:随机淘汰已经过期的。
策略 | 描述 | |
---|---|---|
noeviction | 默认策略,不淘汰数据,新写入操作直接报错 | |
volatile-ttl | 在设置了过期时间的键空间中,优先移除将要过期的数据 | |
volatile-random | 在设置了过期时间的键空间中,随机淘汰数据 | |
volatile-lru | 在设置了过期时间的键空间中,根据LRU算法淘汰 | |
volatile-lfu | 在设置了过期时间的键空间中,根据LFU算法淘汰 | |
allkeys-random | 在所有键空间中,随机淘汰数据 | |
allkeys-lru | 在所有键空间中,根据LRU算法淘汰 | |
allkeys-lfu | 在所有键空间中,根据LFU算法淘汰 |