redis数据淘汰策略原理 redis常见的淘汰算法

本文目录一览:

  • 1、Redis过期键删除策略和内存淘汰策略
  • 2、Redis内存配置和淘汰策略
  • 3、Redis过期删除策略和内存淘汰策略
  • 4、Redis缓存淘汰策略
Redis过期键删除策略和内存淘汰策略【redis数据淘汰策略原理 redis常见的淘汰算法】每次淘汰时会将随机出来的key和数组里的key融合,淘汰掉最旧的一个 , 然后将剩下的较旧的key放到淘汰池里给下个循环用 。redis的删除del在删除一个大对象的时候有可能造成卡顿 。
(被动)惰性删除:当客户端请求到一个已经过期的key时 , redis会检查是否过期并删除 所以,虽然key过期了,但是没被清理的话,还是会占内存的 。
定期删除在一定程度上是一种合理有效的过期键删除策略,但是由于其在执行时长和执行频度的局限性 , 必须要有另一种机制(策略)确保内存能够获得回收,因此,就需要引入内存淘汰策略 。
定期删除策略:Redis 启用一个定时器定时监视所有的 key , 判断key是否过期 , 过期的话就删除 。
Redis内存配置和淘汰策略1、将Redis用作缓存时,如果内存空间用满 , 就会自动驱逐老的数据 。
2、采用过期策略 。redis淘汰机制的存在是为了更好的使用内存 , 用一定的缓存丢失来换取内存的使用效率,该淘汰机制采用过期策略避免删掉不常用的key,定期删除redis默认是每隔100ms就随机抽取一些设置了过期时间的key 。
3、当Redis内存超出物理内存限制时,内存数据会开始和磁盘产生频繁的交换,使得性能急剧下降 。
4、内存淘汰管理机制Memory Management 当内存占满之后,redis提供缓存淘汰机制 。
Redis过期删除策略和内存淘汰策略1、redis根据maxmemory-samples随机抽取一部分数据,将最旧的数据淘汰,指到内存降下来 。
2、Redis 对于已经过期的数据,采用两种策略来处理这些数据,分别是惰性删除和定期删除 。惰性删除不会去主动删除数据,而是在访问数据的时候,如果发现数据已经过期,就会自动删除 。
3、Redis 中有几种不同的删除策略,其中之一是定期删除 。在定期删除策略中,Redis会以一定的时间间隔来扫描过期的键并删除它们 。这个时间间隔可以通过配置文件中的hz参数来设置,默认值是10,即每秒钟扫描10次 。
Redis缓存淘汰策略将Redis用作缓存时,如果内存空间用满,就会自动驱逐老的数据 。
值得一提的是,设置expire会消耗额外的内存,所以 使用allkey-lru可以更高效地使用内存 ,因为这样使用的时候不需要设置过期时间 。Redis使用的并不是完全LRU算法,而是近似LRU算法 。
redis根据maxmemory-samples随机抽取一部分数据,将最旧的数据淘汰,指到内存降下来 。

    推荐阅读