redis的过期策略
Redis的过期策略和淘汰策略?
Redis通过一个叫做过期字典来保存你设置过数据的过期时间
三种过期策略:
惰性删除:只会取出key的时候才会对数据进行过期性检查,对cpu友好
定期删除:redis默认是每隔100ms就随机抽取一些设置了过期时间的key,检查其是否过期,如果过期就删除。对内存更加友好;
定时删除:创建一个定时器,当key设置有过期时间,且过期时间到达时,由定时器任务立即执行对键的删除操作
优点:节约内存,到时间就删除,快速释放掉不必要的内存占用
缺点:CPU压力大,无论CPU此时负载量多高,均占用CPU,会影响redis服务器响应时间和指令吞吐量
所以Redis一般采用的是:定期删除+惰性删除的过期策略