Redis 内存淘汰机制

Posted osbreak

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Redis 内存淘汰机制相关的知识,希望对你有一定的参考价值。

 

 

Redis内存淘汰指的是用户存储的一些键被可以被Redis主动地从实例中删除,
Redis最常见的两种应用场景为缓存和持久存储
内存的淘汰机制的初衷是为了更好地使用内存,用一定的缓存miss来换取内存的使用效率。

 

通过配置redis.conf中的maxmemory这个值来开启内存淘汰功能
maxmemory为0的时候表示我们对Redis的内存使用没有限制。

maxmemory  3221225472

 

默认的策略为noeviction策略:
maxmemory-policy noeviction

Redis提供了几种淘汰策略供用户选择,
noeviction                 当内存使用达到阈值的时候,所有引起申请内存的命令会报错。
allkeys-lru                在主键空间中,优先移除最近未使用的key。
volatile-lru               在设置了过期时间的键空间中,优先移除最近未使用的key。
allkeys-random             在主键空间中,随机移除某个key。
volatile-random            在设置了过期时间的键空间中,随机移除某个key。
volatile-ttl               在设置了过期时间的键空间中,具有更早过期时间的key优先移除。

 

 



以上是关于Redis 内存淘汰机制的主要内容,如果未能解决你的问题,请参考以下文章

Redis 内存淘汰机制

Redis 内存淘汰机制

面试题1:Redis的内存淘汰机制

redis的过期策略都有哪些?内存淘汰机制都有哪些?手写一下LRU代码实现?

Redis内存淘汰策略

redis的淘汰机制