Redis缓存淘汰算法

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Daybreak1209/article/details/82840930

Redis缓存淘汰策略

当实际内存超出 maxmemory 时,Redis 提供了几种可选策略 (maxmemory-policy) 来让用户自己决定淘汰哪些key。总结如下:

Redis LRU近似算法

Redis 使用的是一种近似 LRU 算法:

1、key增加最近访问时间戳字段

2、选取一定数量的key(默认5,server.maxmemory_samples进行配置),比较最近访问时间。按照LRU算法淘汰key。

当 Redis 执行写操作时,发现内存超出 maxmemory,就会执行一次 LRU 淘汰算法。

注意:maxmemory_samples的值越大,Redis的近似LRU算法就越接近于严格LRU算法(队列结构重排,批量非热点数据缓存垃圾),但是相应消耗也变高,对性能有一定影响,样本值默认为5。

猜你喜欢

转载自blog.csdn.net/Daybreak1209/article/details/82840930