Redis的过期策略和内存淘汰策略不要搞混淆

news/2023/6/7 1:31:00

阅读文本大概需要8分钟。

0x01:Redis的过期策略

Redis是key-value数据库,在程序中可以设置Redis中缓存的key的过期时间。Redis的过期策略就是指当Redis中缓存的key过期了以后,Redis是如何处理的。

过期策略通常有以下三种:

定时过期:每个设置过期时间的key都需要创建一个定时器,到过期时间就会立即清除。该策略可以立即清除过期的数据,对内存很友好;但是会占用大量的CPU资源去处理过期的数据,从而影响缓存的响应时间和吞吐量。

惰性过期:只有当访问一个key时,才会判断该key是否已过期,过期则清除。该策略可以最大化地节省CPU资源,却对内存非常不友好。极端情况可能出现大量的过期key没有再次被访问,从而不会被清除,占用大量内存。

定期过期:每隔一定的时间,会扫描一定数量的数据库的expires字典中一定数量的key,并清除其中已过期的key。该策略是前两者的一个折中方案。通过调整定时扫描的时间间隔和每次扫描的限定耗时,可以在不同情况下使得CPU和内存资源达到最优的平衡效果。(expires字典会保存所有设置了过期时间的key的过期时间数据,其中key是指向键空间中的某个键的指针,value是该键的毫秒精度的UNIX时间戳表示的过期时间。键空间是指该Redis集群中保存的所有键。)

Redis同时使用了惰性过期和定期过期两种过期策略。但是Redis定期删除是随机抽取机制,不可能扫描删除掉所有的过期Key。因此需要内存淘汰机制。

0x02:Redis的内存淘汰策略

Redis的内存淘汰策略是指在Redis的用于缓存的内存不足时,怎么处理需要新写入且需要申请额外空间的数据。

no-eviction:当内存不足以容纳新写入数据时,新写入操作会报错。

allkeys-lru:当内存不足以容纳新写入数据时,在键空间中,移除最近最少使用的key。

allkeys-random:当内存不足以容纳新写入数据时,在键空间中,随机移除某个key。

volatile-lru:当内存不足以容纳新写入数据时,在设置了过期时间的键空间中,移除最近最少使用的key。

volatile-random:当内存不足以容纳新写入数据时,在设置了过期时间的键空间中,随机移除某个key。

volatile-ttl:当内存不足以容纳新写入数据时,在设置了过期时间的键空间中,有更早过期时间的key优先移除。

0x03:总结

Redis的内存淘汰策略的选取并不会影响过期的key的处理。内存淘汰策略用于处理内存不足时的需要申请额外空间的数据;过期策略用于处理过期的缓存数据。

过期键删除策略和内存淘汰机制之间的关系:

  • 过期健删除策略强调的是对过期健的操作,如果有健过期了,而内存还足够,不会使用内存淘汰机制,这时也会使用过期健删除策略删除过期健。
  • 内存淘汰机制强调的是对内存的操作,如果内存不够了,即使有的健没有过期,也要删除一部分,同时也针对没有设置过期时间的健。

参考来源:https://www.cnblogs.com/zyy1688/p/10456446.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.exyb.cn/news/show-4569246.html

如若内容造成侵权/违法违规/事实不符,请联系郑州代理记账网进行投诉反馈,一经查实,立即删除!

相关文章

vans鞋内衬烂了怎么办_C ++内衬改进:Zipliner

vans鞋内衬烂了怎么办versions 16.3 and 16.4 include improvements to the C inliner. Among these is the ability to inline some routines after they have been optimized, referred to as the Zipliner. Depending on your application, you may see some minor code qua…

是vans_“无开胶,不Vans”到底是怎么回事

“无开胶,不Vans”确实是Vans爱好者,最常挂在口边的一句话。据统计,Vans的开胶率高达85%.这一点也不夸张,只穿了一天就开胶的朋友也并不在少数。据悉有60%的朋友,在买了新鞋的一个月内都曾出现过开胶的现象。于是才有了…

Postal Vans

题意&#xff1a;摘自NOCOW翻译&#xff08;http://www.nocow.cn/index.php/Translate:USACO/vans&#xff09; 描述 郊区呈矩形&#xff0c;有四条东西方向的街道和N&#xff08;1<N<1000&#xff09;条南北方向的街道。在郊区的西北角有一个邮局。 如N5时&#xff0c;郊…

Usaco Training Section 6.1 Postal Vans

Postal Vans 邮政货车 郊区呈矩形,有四条东西方向的街道和N&#xff08;1<N<1000&#xff09;条南北方向的街道.在交区的西北角有 一个邮局. 如N5 时,郊区如右图所示,圆点表示邮局,直线表示街道. 每天邮政卡车从邮局出发,每个十字路口&#xff08;包括边界和四角&#xf…

usaco Postal Vans(dp)

是哈密顿回路&#xff0c;然后。。。就不知道怎么写了 &#xff0c;以前写过类似的不过情况没这么多也没这么复 usaco training 6.1.1 Postal Vans 题解 标签&#xff1a; usaco training题解dp2014-03-18 10:49 1511人阅读 评论(0) 收藏 举报分类&#xff1a;usaco题解&#x…

usaco6.1.1 Postal Vans

一 原题Postal VansACM South Pacific Region -- 2003Tiring of their idyllic fields, the cows have moved to a new suburb. The suburb is a rectangular grid of streets with a post office at its Northwest corner. It has four avenues running East-West and N (1 &l…

计算机网络-10-VANs

lecture10-WANS 1. 广域网技术和设备 1.1. WAN Services 广域网服务1.2. 公司的发展1.3. 广域网物理结构1.4. 广域网虚拟电路 1.4.1. 广域网虚拟电路的三个阶段(phases)1.4.2. 广域网虚拟电路的用途和特点1.4.3. 广域网永久虚拟电路 1.5. 链接类型和带宽1.6. 交换电路连接1.7. …

是vans_以艺术之名,VANS再造波普潮流

波普艺术作为潮流文化的象征&#xff0c;一直都以新颖的视觉效果和一流的图像语言表达出个性化的审美情调&#xff0c;在现代艺术设计创作中&#xff0c;波普成了许多先锋艺术家的灵感源泉&#xff0c;这次 VANS 新品潮流玩得也就是永不过时的波普艺术。玩起波普艺术&#xff0…