研究研究Redis中默认淘汰策略(redis 默认淘汰策略)
随着Redis的广泛应用,针对不断增长的键值对而言,内存的有效管理应用变得更加重要。Redis提供了一种淘汰策略,可以让它在磁盘上持久化时,只持久化一部分键值对,从而在空间上获得更灵活的控制。Redis的默认淘汰策略包括:
•volatile-lru:LRU算法也被Redis称为“有效期-LRU”,是Redis最常用的淘汰策略。 LRU算法基于最近最少使用(LRU)原则,即我们最常用的键值对占据着内存中的位置,但不是永久的,如果键值对不再被使用,将会被移除,以便为新的键值对腾出空间;
•volatile-ttl:该策略针对于带有有效期(TTL)标记的键值对,TTL表示此键值对在给定时间段内存在。如果有效期过期,那么这个键值对将从Redis存储中删除;
•volatile-random:这种策略随机移除键值对;
•allkeys-lru:这种策略结合了LRU算法,以便删除最近最少使用的键值对,而不仅仅是有效期限制的键;
•allkeys-random:这种策略会随机删除所有的键值对;
•noeviction:该策略会禁止Redis清除键,因此当Redis内存空间耗尽时,它将会拒绝服务新的键值对,直到内存可用空间被腾出来。
下面是Redis默认的淘汰策略的代码实现:
//volatile-lru
//将内存中键与TTL值最小的对象删除
targets = redis.client.sort("volatile-lru",
create_filter("volatile-lr","TTL"),
alpha=true, limit=[0,1])
target = targets[0]
if target != nil
redis.client.del(target[0], target[1])
从上面可以看出,Redis的默认淘汰策略采用简单、有效的方法,可以帮助用户有效管理Redis存储空间,同时也能帮助其中最少使用的一些键值对得到清除。因此,正确选择淘汰策略并设置参数,是Redis有效管理空间的关键!
香港服务器首选后浪云,2H2G首月10元开通。
后浪云(www.IDC.Net)提供简单好用,价格厚道的香港/美国云服务器和独立服务器。IDC+ISP+ICP资质。ARIN和APNIC会员。成熟技术团队15年行业经验。
版权声明:
作者:后浪云
链接:https://www.idc.net/help/55962/
文章版权归作者所有,未经允许请勿转载。
THE END