给redis设置过期时间有啥用?
redis如何判断数据是否过期的?
通过一个过期字典,可以看作hash表,字典的键指向redis数据库中的key,值是long类型的整数(时间戳)
redis删除策略?
惰性删除
在取出值的时候判断,对cpu友好,但是会造成大量过期数据未删除的情况
定期删除
每隔一段时间抽取一批,并且会限制删除操作的时长和频率
定期对内存友好,惰性对cpu友好,所以采用定期+惰性(懒汉式)
惰性和定期删除还是会有很多过期key存在,怎么解决呢?
redis内存淘汰机制
redis提供六种淘汰策略
4.0版本又加入两种