当前位置: 首页 > wzjs >正文

企业网站建设亮点网站建设上海网站制作

企业网站建设亮点,网站建设上海网站制作,有哪些做二手的网站,万网封停慧聪网文章目录定时删除惰性删除Redis 中有惰性删除与定时删除两种数据删除策略。Redis 将这两种策略结合使用,是为了在性能和内存管理之间取得平衡。惰性删除策略减少了 CPU 开销,而定时删除策略则能及时清理部分过期键,避免大量过期键长时间占用内…

文章目录

    • 定时删除
    • 惰性删除

Redis 中有惰性删除与定时删除两种数据删除策略。Redis 将这两种策略结合使用,是为了在性能和内存管理之间取得平衡。惰性删除策略减少了 CPU 开销,而定时删除策略则能及时清理部分过期键,避免大量过期键长时间占用内存。这样既保证了 Redis 的高性能,又能有效地管理内存资源。

TTL 指令说明

Redis 是一种内存级数据库,所有数据均存放在内存中,内存中的数据可以通过 TTL 指令获取其状态。通过 TTL 指令获取数据状态可能返回如下结果:

  • 返回正整数:表示距离数据被删除的剩余时间;
  • 返回 -1:表示该数据永久有效;
  • 返回 -2:表示 已经过期的数据被删除的数据未定义的数据

过期键存储结构

在 Redis 中,当你为一个键值对设置过期时间时,Redis 会在内部维护一个额外的数据结构来管理这些过期键。具体来说,Redis 数据库结构中除了有一个用于存储普通键值对的字典(dict)之外,还会有一个专门用于存储过期键信息的字典(expires)。

  • 普通键值对字典:用于存储正常的 key - value 数据,即你通过 SET 等命令设置的键值对。
  • 过期键字典(expires):是一个哈希表,其中的 key 是那些设置了过期时间的键,而 value 是该键的过期时间戳(以毫秒为单位),表示该键在这个时间点之后就会过期。

定时删除

定时删除策略也被称为定期删除策略,Redis 会按照一定的时间周期,周期性地在数据库中随机抽取一部分键进行检查,判断这些键是否过期,如果过期则将其删除。

定时删除策略执行流程如下:

  1. 周期性执行:Redis 服务器在启动时会初始化一个定时任务,默认情况下,Redis 每秒会执行 10 次过期键检查操作(这个频率可以通过配置参数 hz 进行调整,hz 越大,检查频率越高,但也会对性能产生一定影响)。
  2. 随机抽样检查:每次执行过期键检查时,Redis 并不会遍历数据库中的所有键,因为这样会带来巨大的性能开销。而是随机从数据库中选取一部分键(具体数量由 Redis 内部算法决定),对这些键进行过期检查。
  3. 删除过期键:对于抽样检查中发现的过期键,Redis 会将其从数据库中删除,释放相应的内存空间。
  4. 循环检查:如果在一次检查中,发现过期键的比例超过了一定阈值(默认是 25%),Redis 会继续进行下一轮的过期键检查操作,直到过期键的比例低于阈值或者达到了执行时间上限,以保证过期键能被及时清理。

调整 Redis 执行过期键检查的频率可以通过修改 Redis 配置文件 redis.conf 中的 hz 参数来实现。例如,将检查频率提高到每秒 20 次:

# 修改前
# hz 10# 修改后
hz 20

修改完成后,重启 Redis 服务器使配置生效。

定时删除策略本质上是一种用 CPU 性能换取存储空间的策略(时间换空间),其优缺点如下:

  • 优点:节约内存,时效到时立刻删除内存占用;
  • 缺点:CPU 压力很大,无论 CPU 此时负载多高,都会占用 CPU,会影响 Redis 服务器响应时间和指令吞吐量。

惰性删除

惰性删除策略并不会主动去检查和删除过期键,而是在客户端尝试访问某个键时,Redis 会先检查该键是否已经过期。如果过期,Redis 会立即删除这个键,并返回给客户端一个空结果(例如,对于 GET 操作返回 nil);如果未过期,则正常处理客户端的请求。

例如:

set name zhangsan 10
get name

对于以上案例中,在惰性删除策略下,get name 时发现 name 过期,name 才会被删除。

惰性删除策略本质上是一种拿存储空间换 CPU 性能(即空间换时间)的策略,优缺点如下:

  • 优点:节约 CPU 性能。不需要定期扫描所有的键来检查是否过期,避免了在大规模数据场景下对 CPU 资源的过度消耗。
  • 缺点:内存压力问题。如果过期键一直没有被访问,它们会一直占用内存,可能导致内存泄漏。为了弥补这一缺点,Redis 还采用了定期删除策略。
http://www.dtcms.com/wzjs/573910.html

相关文章:

  • 如何构建个人网站苏州网络维护
  • 怎么看网站什么时候做的温州网站制作系统
  • 个人网站图片加载慢微信制作宣传网站有哪些内容
  • 抚州建设网站徐州市建设工程质监站网站
  • 做得好的网站广告中国
  • 沈阳网站建设本地化技术服务家在深圳房产论坛
  • 企业网络营销企业网站建设章节习题团购网站建设怎么样
  • 南通做网站报喜鸟集团有限公司网页制作
  • 我们是设计师 网站建设专家php 做网站 python
  • 做网站+广告费+步骤网站建设卩金手指科杰十四
  • 网站如何做下拉菜单wordpress升级插件
  • 电商网站储值消费系统保山便宜的网站建设
  • synology建设网站wordpress网站字体
  • 怎样做某个网站有更新的提醒做翻译 网站
  • app和微网站的对比网站功能是什么
  • 广西建设厅官方网站文件通知做百度联盟做什么类型网站
  • 网站开发职业定位做个公司网站需要什么钱
  • 长沙做网站公司有哪些做编程的网站一个月多少钱
  • 包头市做网站公司东莞市十大广告公司
  • 新网站建设咨询动漫制作专业主修课程
  • 旅游网站建设意义做营销型网站需要注意哪些点
  • 自己做网站销售yy直播怎么样
  • 潍坊市网站建设设计网站的风格对比信息表
  • 南京城乡住房建设厅网站装修设计方案范本
  • 厦门市建设局查询保障摇号网站首页微信公共平台wordpress
  • 旅行社网站开发php网站建设设计方法
  • 类似于拼多多的网站怎么做网站设计建设公司教程
  • wordpress 多网站柳州公司
  • 长沙网站建设公司名单软件定制开发优势
  • 企业展示网站建设需要做什么云南建站公司