自己做网站都要什么手续,福田网站优化,网站开发工程师缺口,网站开发与设计实训报告摘要Redis 数据过期及淘汰策略
过期策略
定时过期
在设置key的过期时间的同时#xff0c;为该key创建一个定时器#xff0c;让定时器在key的过期时间来临时#xff0c;对key进行删除。到过期时间就会立即清除。该策略可以立即清除过期的数据#xff0c;对内存很友好为该key创建一个定时器让定时器在key的过期时间来临时对key进行删除。到过期时间就会立即清除。该策略可以立即清除过期的数据对内存很友好但是会占用大量的CPU资源去处理过期的数据从而影响缓存的响应时间和吞吐量。
惰性过期
只有当访问一个key时才会判断该key是否已过期过期则清除。该策略可以最大化地节省CPU资源却对内存非常不友好。极端情况可能出现大量的过期key没有再次被访问从而不会被清除占用大量内存。
定期过期
每隔一定的时间会扫描一定数量的数据库的expires字典中一定数量的key并清除其中已过期的key。该策略是前两者的一个折中方案。通过调整定时扫描的时间间隔和每次扫描的限定耗时可以在不同情况下使得CPU和内存资源达到最优的平衡效果。
淘汰策略
Redis的内存淘汰策略是指在Redis的用于缓存的内存不足时如何申请新的内存。
noeviction当内存不足以容纳新写入数据时新写入操作会报错。allkeys-lru当内存不足以容纳新写入数据时在键空间中移除最近最少使用的keyallkeys-random当内存不足以容纳新写入数据时在键空间中随机移除某个key。volatile-lru当内存不足以容纳新写入数据时在设置了过期时间的键空间中移除最近最少使用的key。volatile-random当内存不足以容纳新写入数据时在设置了过期时间的键空间中随机移除某个key。volatile-ttl当内存不足以容纳新写入数据时在设置了过期时间的键空间中有更早过期时间的key优先移除。
总结
过期策略选择
惰性删除、定期删除组合模式。
淘汰策略选择
allkeys-lru