热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

Redis自动过期使用EXPIRE、PEXPIRE:设置生存时间

这里写目录标题12.1EXPIRE、PEXPIRE:设置生存时间12.1.1更新键的生存时间12.1.2其他信息参考目录12.1EXPIRE、PEXPIREÿ


这里写目录标题

    • 12.1 EXPIRE、PEXPIRE:设置生存时间
    • 12.1.1 更新键的生存时间
    • 12.1.2 其他信息
    • 参考目录


12.1 EXPIRE、PEXPIRE:设置生存时间

        用户可以通过执行EXPIRE命令或者PEXPIRE命令为键设置一个生存时 间(Time To Live,TTL):键的生存时间在设置之后就会随着时间的 流逝而不断地减少,当一个键的生存时间被消耗殆尽时,Redis就会移 除这个键。

        Redis提供了EXPIRE命令用于设置秒级精度的生存时间,它可以让键在 指定的秒数之后自动被移除:

在这里插入图片描述

        而PEXPIRE命令则用于设置毫秒级精度的生存时间,它可以让键在指定 的毫秒数之后自动被移除:

在这里插入图片描述

        EXPIRE命令和PEXPIRE命令在生存时间设置成功时返回1;如果用户给 定的键并不存在,那么命令返回0表示设置失败。

        以下是一个使用EXPIRE命令的例子:
在这里插入图片描述

        上面的代码通过执行EXPIRE命令为msg键设置了5s的生存时间:

        ·如果我们在5s之内访问msg键,那么Redis将返回msg键的值"hello world"。

        ·如果我们在5s之后访问msg键,那么Redis将返回一个空值,因为msg键 已经自动被移除了。

在这里插入图片描述

        以下则是一个使用PEXPIRE命令的例子:
在这里插入图片描述

        表12-2展示了number键从设置生存时间到被移除的整个过程。

在这里插入图片描述


12.1.1 更新键的生存时间

        当用户对一个已经带有生存时间的键执行EXPIRE命令或PEXPIRE命令 时,键原有的生存时间将会被移除,并设置新的生存时间。

        举个例子,如果我们执行以下命令,将msg键的生存时间设置为10s:

在这里插入图片描述

        然后在10s之内执行以下命令:

在这里插入图片描述

        那么msg键的生存时间将被更新为50s,并重新开始倒数,表12-3展示了 这个更新过程。

在这里插入图片描述


12.1.2 其他信息

        复杂度:EXPIRE命令和PEXPIRE命令的复杂度都为O(1)。

        版本要求:EXPIRE命令从Redis 1.0.0版本开始可用,PEXPIRE命令从 Redis 2.6.0版本开始可用。


参考目录

绝大多数 内容来自 Redis使用手册 (黄健宏 著) 第12章 自动过期


推荐阅读
  • Redis底层数据结构之压缩列表的介绍及实现原理
    本文介绍了Redis底层数据结构之压缩列表的概念、实现原理以及使用场景。压缩列表是Redis为了节约内存而开发的一种顺序数据结构,由特殊编码的连续内存块组成。文章详细解释了压缩列表的构成和各个属性的含义,以及如何通过指针来计算表尾节点的地址。压缩列表适用于列表键和哈希键中只包含少量小整数值和短字符串的情况。通过使用压缩列表,可以有效减少内存占用,提升Redis的性能。 ... [详细]
  • 本文介绍了Redis中RDB文件和AOF文件的保存和还原机制。RDB文件用于保存和还原Redis服务器所有数据库中的键值对数据,SAVE命令和BGSAVE命令分别用于阻塞服务器和由子进程执行保存操作。同时执行SAVE命令和BGSAVE命令,以及同时执行两个BGSAVE命令都会产生竞争条件。服务器会保存所有用save选项设置的保存条件,当满足任意一个保存条件时,服务器会自动执行BGSAVE命令。此外,还介绍了RDB文件和AOF文件在操作方面的冲突以及同时执行大量磁盘写入操作的不良影响。 ... [详细]
  • 面试经验分享:华为面试四轮电话面试、一轮笔试、一轮主管视频面试、一轮hr视频面试
    最近有朋友去华为面试,面试经历包括四轮电话面试、一轮笔试、一轮主管视频面试、一轮hr视频面试。80%的人都在第一轮电话面试中失败,因为缺乏基础知识。面试问题涉及 ... [详细]
  • 本文介绍了如何使用call_user_func_array函数向Redis中添加有序列表或集合。该函数可以接受一个数组作为参数,第一项是要操作的有序列表或集合的键,后续的项目是排序权重和值的交替。通过该函数,可以方便地向Redis中添加多个元素,并指定它们的排序权重。 ... [详细]
  • 本文介绍了在无法联网的情况下,通过下载rpm包离线安装zip和unzip的方法。详细介绍了如何搜索并下载合适的rpm包,以及如何使用rpm命令进行安装。 ... [详细]
  • Redis的默认端口、数据库使用和多端口配置
    本文介绍了Redis的默认端口、数据库使用和多端口配置的方法。通过选择不同的数据库和使用flushdb命令可以实现对不同数据库的访问和清除数据。同时,本文还介绍了在同一台机器上启用多个Redis实例的方法,并讨论了配置认证密码的步骤和注意事项。 ... [详细]
  • 旁路|发生_Day749.旁路缓存:Redis是如何工作的Redis 核心技术与实战
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了Day749.旁路缓存:Redis是如何工作的-Redis核心技术与实战相关的知识,希望对你有一定的参考价值。 ... [详细]
  • Redis通用指令及数据库操作详解
    本文详细介绍了Redis中的通用指令,包括key的基本操作、扩展操作和查询模式,以及数据库的基本操作和相关操作。同时还解决了key重复问题,并提供了解决方案。文章内容参考了黑马Redis教程。 ... [详细]
  • 负载均衡_Nginx反向代理动静分离负载均衡及rewrite隐藏路径详解(Nginx Apache MySQL Redis)–第二部分
    nginx反向代理、动静分离、负载均衡及rewrite隐藏路径详解 ... [详细]
  • __call是找不到方法的时候会执行可以代替下面的saddsrem方法publicfunction__call($name,$arguments){if(count($argum ... [详细]
  • (九)Docker常用安装
    一、总体步骤1、搜索镜像2、拉取镜像3、查看镜像4、启动镜像5、停止镜像6、移除镜像二、安装tomcat1、dockerhub上面查找tomcat镜像 dockersearchto ... [详细]
  • 基于分布式锁的防止重复请求解决方案
    一、前言关于重复请求,指的是我们服务端接收到很短的时间内的多个相同内容的重复请求。而这样的重复请求如果是幂等的(每次请求的结果都相同,如查 ... [详细]
  • 14亿人的大项目,腾讯云数据库拿下!
    全国人 ... [详细]
  • 玩转直播系列之消息模块演进(3)
    一、背景即时消息(IM)系统是直播系统重要的组成部分,一个稳定的,有容错的,灵活的,支持高并发的消息模块是影响直播系统用户体验的重要因素。IM长连接服务在直播系统有发挥着举足轻重的 ... [详细]
  • 有意向可以发简历到邮箱内推.简历直达组内Leader.能做同事的话,内推奖励全给你. ... [详细]
author-avatar
mobiledu2502876867
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有