Redis用作缓存时,如果内存空间用满,就会自动驱逐老的数据。

一、Redis六种淘汰策略

noeviction:当内存使用达到阈值的时候,所有引起申请内存的命令会报错。

allkeys-lru:在主键空间中,优先移除最近未使用的key。(推荐)

volatile-lru:在设置了过期时间的键空间中,优先移除最近未使用的key。

allkeys-random:在主键空间中,随机移除某个key。

volatile-random:在设置了过期时间的键空间中,随机移除某个key。

volatile-ttl:在设置了过期时间的键空间中,具有更早过期时间的key优先移除。

二、配置Redis淘汰策略

在redis.conf文件中,设置Redis 内存大小的限制,我们可以设置maxmemory ,当数据达到限定大小后,会选择配置的策略淘汰数据。

比如:maxmemory 300mb。

通过配置maxmemory-policy noeviction 设置Redis的淘汰策略。

比如:maxmemory-policy volatile-lru


本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!

RabbitMQ实战解决方案 上一篇
Redis 自动过期机制 下一篇