Redis 缓存淘汰策略
redis 有三种缓存淘汰策略,分别是 noeviction、volatile、allkeys。
noeviction
noeviction 策略是 Redis 默认的淘汰策略。 它可以继续接受请求,但只执行读请求,不执行写请求, 这样做可以保证内存中的数据不会被修改和删除。
volatile
volatile 只淘汰设置了过期时间的 key。有三种算法实现:
- volatile-lru:根据 lru 算法淘汰设置了过期时间的 key,lru 算法优先删除最近最少使用的 key。
- volatile-ttl:根据 key 的过期时间的长短 淘汰设置了过期时间的 key,过期时间越小的 key 优先被删除。
- volatile-random:随机淘汰设置了过期时间的 key。
allkeys
allkeys 对所有 key 无差别淘汰。有两种算法实现:
- allkeys-lru: 根据 lru 算法淘汰所有的 key,最近最少使用的 key 优先被删除。
- allkeys-random:随机淘汰所有的 key。