Redis的内存回收策略一共有6种,可以通过配置文件中的maxmemory-policy
来设置,可用的回收策略配置如下:
- noeviction: 默认策略,当内存不足以容纳新写入数据时,新写入操作会报错。
- allkeys-lru: 当内存不足以容纳新写入数据时,在键空间中,移除最近最少使用的 Key。
- volatile-lru: 当内存不足以容纳新写入数据时,在键空间中,随机移除某个 Key。
- allkeys-random: 当内存不足以容纳新写入数据时,在设置了过期时间的键空间中,移除最近最少使用的 Key。
- volatile-random: 当内存不足以容纳新写入数据时,在设置了过期时间的键空间中,随机移除某个 Key。
- volatile-ttl: 当内存不足以容纳新写入数据时,在设置了过期时间的键空间中,有更早过期时间的 Key 优先移除。