Redis缓存淘汰算法

Redis缓存淘汰策略

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

Redis缓存淘汰算法_第1张图片

Redis LRU近似算法

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

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

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

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

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

 

你可能感兴趣的:(【Redis】)