Redis对于过期键的清除策略有哪些

技术Redis对于过期键的清除策略有哪些本篇内容主要讲解“Redis对于过期键的清除策略有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Redis对于过期键的清除策略有哪

本文主要讲解“Redis中过期密钥的清除策略有哪些”。感兴趣的朋友不妨看看。本文介绍的方法简单、快速、实用。让边肖带你学习“Redis中过期钥匙的通关策略有哪些”!

00-1010 Redis-17 Redis内存回收策略

Pre

expirekeyseconds以秒为单位。1成功返回,0表示密钥已设置到期时间或不存在。如果要消除超时,请使用持久键。如果要使用绝对超时,请使用expireat命令。

Ttlkey返回设置了到期时间的密钥的剩余到期秒数-1表示尚未设置到期时间,对于不存在的密钥返回-2。

Pexpirekey毫秒设置生命周期。

Pttlkey以毫秒为单位返回生命周期。

Redis Key的超时设置处理

读取/写入过期密钥时,会触发惰性删除策略,直接删除过期密钥。

例如,设置过期时间为600秒的密钥。当达到600 s时,redis不会删除。为了性能,redis会在你下次访问时删除它。

在这种情况下,如果我从来不去拜访,我会停止吃饭吗?不用担心,Redis有主动删除权。

00-1010因为懒删除策略不能保证冷数据及时删除,Redis会定期主动淘汰一批过期密钥。

说白了,这就是调度任务的工作,防止一些按键一直占用内存。

当REDIS以主从模式运行时,只有主节点会实施被动和主动的过期删除策略,然后将删除操作“del key”同步到从节点。

00-1010第三种策略的情况:当当前使用的内存超过最大内存限制时,将触发主动清理策略。

我们需要选择maxmemory策略,并根据自己的业务类型设置到期时间。如果不设置最大内存,当Redis的内存超过物理内存限制时,内存数据将开始频繁与磁盘交换(swap),这将大幅降低Redis的性能。

默认策略为volatile-lru,即超过最大内存后,使用lru算法剔除过期密钥中的密钥,确保过期数据不会被删除,但可能会出现OOM问题。

其他策略如下:

Allkeys-lru:根据lru算法删除密钥,不管数据是否有超时属性,直到有足够的空间可用。

Allkeys-random:随机删除所有密钥,直到有足够的可用空间。

Allkeys-random:随机删除所有密钥,直到有足够的可用空间。

Volatile-ttl:根据键值对象的ttl属性,删除最近将要过期的数据。如果没有,回到无受害者政策。

注意:不会排除任何数据,所有写入操作都将被拒绝,并将返回客户端错误消息'(错误)。当“使用内存”时不允许Oom命令,此时Redis只响应读取操作。

记住:从volatile开始的策略只清理过期的密钥,而从all开始的策略无论你是否过期都会被清理。

当客户端主动访问密钥时,会先判断密钥超时,过期的密钥会被立即删除。

节点从不扫描到期,从节点在处理到期时是被动的。在主从复制环境中,由于上述原因,存在已过期但未删除的密钥,这些密钥不包含在主快照中。因此,在从机环境中,我们经常看到dbsize比主机小。

如果克林再也拿不到那把钥匙怎么办?

Redis将在Master后台每秒执行以下操作10次:

随机选择100把钥匙检查是否过期。如果超过25个键过期,立即随机选择接下来的100个键(不算10次)。可以看到,如果过期的密钥不多,每秒最多可以回收200个左右的密钥,如果超过25%的密钥过期,那就做得更多了。

至此,相信大家对“Redis中清除过期密钥的策略有哪些”有了更深的理解,下面就来做一些实际工作吧!这是网站。更多相关内容,可以去相关渠道查询,关注我们,继续学习!

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/115599.html

(0)

相关推荐

  • 抽油烟机品牌大全,抽油烟机什么牌子好用又实惠

    技术抽油烟机品牌大全,抽油烟机什么牌子好用又实惠⭐⭐⭐老梁谈家居抽油烟机品牌大全,每天都会更新关于装修的知识,关注、点赞、评论、私信,各种家居干货在等你⭐⭐⭐吸油烟机是每家每户必备的厨房电器,好的吸油烟机可以把炒菜过程当

    生活 2021年10月28日
  • jquery如何隐藏table的tr

    技术jquery如何隐藏table的tr这篇文章主要介绍“jquery如何隐藏table的tr”,在日常操作中,相信很多人在jquery如何隐藏table的tr问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法

    攻略 2021年11月16日
  • docker怎么进行容器监控

    技术docker怎么进行容器监控这期内容当中小编将会给大家带来有关docker怎么进行容器监控,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。docker ps可以知道后台有哪些容器在运

    攻略 2021年10月19日
  • 别看今天闹得欢,为什么现在肺癌越来越多

    技术别看今天闹得欢,为什么现在肺癌越来越多一说肺癌别看今天闹得欢,立马联想到吸烟。的确,如果一个人烟瘾大,一枝接着一枝的吸,那么会是一口接着一口吸的是烟气,而不是清新的空气。试想 ,会对肺部该有多大的损害。在吸烟如命人的

    生活 2021年10月25日
  • spark 有向无环图优点(spark生态图中机器学习算法)

    技术Spark有向无环图检测的示例分析这篇文章给大家介绍Spark有向无环图检测的示例分析,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。01—Spark背景介绍Apache Spark 是专为大规模

    攻略 2021年12月17日
  • Ubuntu14.04 CUDA7如何安装

    技术Ubuntu14.04 CUDA7如何安装小编给大家分享一下Ubuntu14.04 CUDA7如何安装,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了

    攻略 2021年11月15日