来讲讲redis的淘汰机制吧~
redis他是基于内存的,因此需要淘汰数据否则也会溢出崩溃;
redis的两种过期策略
定期删除:每隔100ms抽取设置了过期时间的数据进行检查
惰性删除:获取key的时候才判断是否已经过期,过期则从内存中删除并不返回数据;
redis的内存淘汰机制
可在redis.conf中配置:maxmemory-policy:~
默认采用禁止驱逐数据,不接受新的内存分配
lru:从设置了过期时间的数据集中挑选最近最少使用的数据淘汰。
ttl:从已设置了过期时间的数据集中挑选即将要过期的数据淘汰。
random:从已设置了过期时间的数据集中任意选择数据淘汰。
allkeys-lru:从数据集中挑选最近最少使用的数据淘汰。
allkeys-random:从数据集中任意选择数据淘汰。