返回顶部
首页 > 资讯 > 精选 >redis怎么设置key的有效期
  • 902
分享到

redis怎么设置key的有效期

2023-06-26 04:06:30 902人浏览 八月长安
摘要

这篇文章主要介绍“redis怎么设置key的有效期”,在日常操作中,相信很多人在Redis怎么设置key的有效期问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”redis怎么设置key的有效期”的疑惑有所帮助!

这篇文章主要介绍“redis怎么设置key的有效期”,在日常操作中,相信很多人在Redis怎么设置key的有效期问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”redis怎么设置key的有效期”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

redis设置key的有效期

Key命令

设置key的过期时间。

查询当前所有的key

redis怎么设置key的有效期

  • expire key second:设置key的过期时间

redis怎么设置key的有效期

若执行ttl key 显示为-2 则说明改值不存在缓存

redis怎么设置key的有效期

显示为-1则是持久化的 (不会失效) 

redis怎么设置key的有效期

若将其设置了失效时间 那么就会显示剩余的失效时间

redis怎么设置key的有效期

彻底理解redis有效期问题

EXPIRE key seconds

起始版本:1.0.0

时间复杂度:O(1)

返回值:1 如果成功设置过期时间;0 如果key不存在或者不能设置过期时间。

为给定 key设置生存时间,当 key过期时(生存时间为 0),它会被自动删除。

1.过期时间跟着key走,与值无关

在Redis中,带有过期时间的key被称为『易失的』(volatile)。 过期时间可以通过使用 DEL命令来删除整个key来移除,或者被 SET和 GETSET命令覆写(overwrite),这意味着,如果一个命令只是修改(alter)一个带过期时间的 key的值而不是用一个新的 key值来代替(replace)它的话,那么过期时间不会被改变。比如说,对一个 key执行 INCR命令,对一个列表进行 LPUSH命令,或者对一个哈希表执行 HSET命令,这类操作都不会修改 key本身的过期时间。

2.设置永久有效期

使用PERSIST命令可以清除超时,使其变成一个永久的key。

3.rename命令对有效期影响

如果key被RENAME命令修改,相关的超时时间会转移到新key上面。

如果key被RENAME命令修改,比如原来就存在Key_A,然后调用RENAME Key_B Key_A命令,这时不管原来Key_A是永久的还是设置为超时的,都会由Key_B的有效期状态覆盖。

4.刷新过期时间

对已经有过期时间的key执行EXPIRE操作,将会更新它的过期时间。

5.过期精度

在 Redis 2.4 及以前版本,过期期时间可能不是十分准确,有0-1秒的误差。

从 Redis 2.6 起,过期时间误差缩小到0-1毫秒。

6.外界因素对过期时间影响

Keys的过期时间使用Unix时间戳存储(从Redis 2.6开始以毫秒为单位)。这意味着即使Redis实例不可用,时间也是一直在流逝的。

要想过期的工作处理好,计算机必须采用稳定的时间。 如果你将RDB文件在两台时钟不同步的电脑间同步,有趣的事会发生(所有的 keys装载时就会过期)。

即使正在运行的实例也会检查计算机的时钟,例如如果你设置了一个key的有效期是1000秒,然后设置你的计算机时间为未来2000秒,这时key会立即失效,而不是等1000秒之后。

7.Redis如何淘汰过期的keys

Redis keys过期有两种方式:被动和主动方式。

当一些客户端尝试访问它时,key会被发现并主动的过期。

当然,这样是不够的,因为有些过期的keys,永远不会访问他们。无论如何,这些keys应该过期,所以定时随机测试设置keys的过期时间。所有这些过期的keys将会删除。

具体就是Redis每秒10次做的事情:

1).测试随机的20个keys进行相关过期检测。

2).删除所有已经过期的keys。

3).如果有多于25%的keys过期,重复步奏1.

这是一个平凡的概率算法,基本上的假设是,我们的样本是这个密钥控件,并且我们不断重复过期检测,直到过期的keys的百分比低于25%,这意味着,在任何给定的时刻,最多会清除1/4的过期keys。

8.在复制AOF文件时如何处理过期

为了获得正确的行为而不牺牲一致性,当一个key过期,DEL将会随着AOF文字一起合成到所有附加的slaves。在master实例中,这种方法是集中的,并且不存在一致性错误的机会。

然而,当slaves连接到master时,不会独立过期keys(会等到master执行DEL命令),他们任然会在数据集里面存在,所以当slave当选为master时淘汰keys会独立执行,然后成为master。

到此,关于“redis怎么设置key的有效期”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

--结束END--

本文标题: redis怎么设置key的有效期

本文链接: https://lsjlt.com/news/306579.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • redis怎么设置key的有效期
    这篇文章主要介绍“redis怎么设置key的有效期”,在日常操作中,相信很多人在redis怎么设置key的有效期问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”redis怎么设置key的有效期”的疑惑有所帮助!...
    99+
    2023-06-26
  • redis如何设置key的有效期
    目录redis设置key的有效期Key命令彻底理解redis有效期问题1.过期时间跟着key走,与值无关2.设置永久有效期3.rename命令对有效期影响4.刷新过期时间5.过期精度...
    99+
    2024-04-02
  • Redis中怎么设置过期时间的Key
    Redis中怎么设置过期时间的Key,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。1、 DEL/SET/GETSET等命令会清除过期时间在使用...
    99+
    2024-04-02
  • Redis设置key的过期时间
    Redis中可以设置数据的过期时间,一旦过期自动删除数据。 1.设置过期时间 expire 127.0.0.1:6379> set name "ok" //设置10s后过期,e...
    99+
    2023-01-28
    Redis设置key过期时间 Redis key过期时间
  • 怎么在redis中设置key的过期时间
    在redis中设置key过期时间的方法:1.启动redis服务;2.登录redis数据库;3.执行命令设置过期时间;具体步骤如下:首先,在命令行中启动redis服务;service redis start mysql服务启动后,输入用户名,...
    99+
    2024-04-02
  • 怎么设置session的有效期
    在设置session的有效期之前,需要先确保您的应用程序已经启用了session功能。要设置session的有效期,您可以使用以下方...
    99+
    2023-08-18
    session
  • redis将一个key设置为永不过期
      这次介绍三个 redis 命令: Expire 命令用于设置 key 的过期时间,key 过期后将不再可用。单位以秒计。 PERSIST 命令用于移除给定 key 的过期时间,使得 key 永不过期。 TTL 命令以秒为单位返回 ke...
    99+
    2014-05-11
    redis将一个key设置为永不过期
  • 怎么删掉redis中的过期key
    这篇文章将为大家详细讲解有关怎么删掉redis中的过期key,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。最近我们在Redis集群中发现了一个有趣的问题。在花费大量时间进...
    99+
    2024-04-02
  • redis如何设置key缓存失效时间
    Redis中可以使用`EXPIRE`命令设置一个key的缓存失效时间。命令格式如下:```EXPIRE key seconds```...
    99+
    2023-09-05
    redis
  • redis中的key如何设置
    这篇文章主要介绍了redis中的key如何设置,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获。下面让小编带着大家一起了解一下。Redis SET命令用于设置给定key的值。如果k...
    99+
    2024-04-02
  • 【Redis】获取没有设置ttl的key脚本
    一 前言       在运维Redis的时候,总会遇到使用不规范的业务设计,比如没有对key设置ttl,进而导致内存空间吃紧,通常的解决方法是在slave上du...
    99+
    2024-04-02
  • 使用Redis怎么设置永久有效
    这篇文章主要讲解了“使用Redis怎么设置永久有效”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“使用Redis怎么设置永久有效”吧!如何设置永久有效PERSIST key持久化 key 和 ...
    99+
    2023-06-26
  • redis怎么设置哈希过期
    在Redis中,可以通过使用`EXPIRE`命令设置哈希过期时间。该命令接受两个参数,第一个参数是哈希的键名,第二个参数是过期时间(...
    99+
    2023-09-01
    redis
  • redis怎么设置过期时间
    redis中的过期时间自动删除超过生命周期的键,可有效缓存短暂有效期的数据。设置过期时间有两种方法:1. expire命令,设置过期时间(秒);2. pexpire命令,设置过期时间(毫...
    99+
    2024-05-21
    redis
  • redis过期策略怎么设置
    redis数据过期策略有两种:定期删除:定期扫描删除过期键,可通过 expired-time-cap-remove-count、expired-time-cap-remove-delay...
    99+
    2024-05-21
    redis
  • Redis怎么设置键的过期时间
    在Redis中,可以使用EXPIRE命令或者SET命令的EX参数来设置键的过期时间。 使用EXPIRE命令: EXPIRE key ...
    99+
    2024-05-07
    Redis
  • oracle中怎么设置用户密码有效期
    这篇文章给大家介绍oracle中怎么设置用户密码有效期,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。1.先查询出用户所属的profile名字:SELECT username,&...
    99+
    2024-04-02
  • redis怎么查看所有的key
    要查看 redis 中的所有键,共有三种方法:使用 keys 命令返回所有匹配指定模式的键;使用 scan 命令迭代键并返回一组键;使用 info 命令获取键的总数。 如何查看 Red...
    99+
    2024-06-03
    redis 键值对
  • redis中key的设置方法步骤
    Redis SET命令用于设置给定key的值。如果key已经存储其他值,SET就覆写旧值,且无视类型。 redis SET命令基本语法如下: redis 127.0.0.1:6379> SET K...
    99+
    2024-04-02
  • redis怎么设置默认的过期时间
    在Redis中,可以使用`EXPIRE`命令设置键的过期时间。但是,如果你想要为所有键设置一个默认的过期时间,可以使用Redis的`...
    99+
    2023-09-06
    redis
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作