redis过期策略

Redis的key有过期策略,包括noeviction、allkeys-lru、volatile-lru、allkeys-random、volatile-random和volatile-ttl。默认策略是volatile-lru。 Redis3.0的LRU使用候选池提高性能。内存和过期策略可通过config命令设置和查看,例如设置最大内存、选择过期策略等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


一、redis的key有六种过期策略

1、noeviction:一旦内存满则返回错误

2、allkeys-lru:对所有的key进行LRU

3、volatile-lru:只对设置了过期的key进行LRU(默认的方式)

4、allkeys-random:随机剔除一个key

5、volatile-random:对设置过期的key进行随机剔除一个

6、volatile-ttl:删除即将过期的key

根据官网的描述,redis使用的LRU并非真正的LRU算法,精确度并不高。redis3.0版本的LRU会维持一个候选池,性能会更加好。


二、一些内存和过期策略的设置和查看

1、设置实例的内存大小(本地执行可以不用-h $host,单位是B)

redis-cli -h $host -p $port config set maxmemory 1024 

2、获取实例的内存大小

redis-cli -h $host -p $port config get maxmemory

3、设置过期策略

redis-cli -h $host -p $port config set maxmemory-policy volatile-lru

4、查看过期策略

redis-cli -h $host -p $port config get maxmemory-policy


说明:测试过volatile-lru,确实在满了之后如果有设置了过期时间的key就会执行LRU,可以继续插入。如果没有设置了过期时间的key了就会报错






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值