定期删除+惰性删除
所谓定期删除,指的是 Redis 默认是每隔 100ms 就随机抽取一些设置了过期时间的 key,检查其是否过期,如果过期就删除。
内存淘汰机制
Redis 内存淘汰机制有以下几个:
noeviction: 当内存不足以写入新数据时,新写入操作会报错,一般不会在生产使用。allkeys-lru:当内存不足以写入新数据时,在键空间中,移除最近最少使用的 key(最常用)。allkeys-random:当内存不足以写入新数据时,在键空间中,随机移除某个 key。volatile-lru:当内存不足以写入新数据时,在设置了过期时间的键空间中,移除最近最少使用的 keyvolatile-random:当内存不足以写入新数据时,在设置了过期时间的键空间中,随机移除某个 key。volatile-ttl:当内存不足以写入新数据时,在设置了过期时间的键空间中,有更早过期时间的 key 优先移除。