热门标签 | 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章 自动过期


推荐阅读
  • 本文详细介绍了Python编程语言的学习路径,涵盖基础语法、常用组件、开发工具、数据库管理、Web服务开发、大数据分析、人工智能、爬虫开发及办公自动化等多个方向。通过系统化的学习计划,帮助初学者快速掌握Python的核心技能。 ... [详细]
  • 深入理解Redis的数据结构与对象系统
    本文详细探讨了Redis中的数据结构和对象系统的实现,包括字符串、列表、集合、哈希表和有序集合等五种核心对象类型,以及它们所使用的底层数据结构。通过分析源码和相关文献,帮助读者更好地理解Redis的设计原理。 ... [详细]
  • Windows 7 64位系统下Redis的安装与PHP Redis扩展配置
    本文详细介绍了在Windows 7 64位操作系统中安装Redis以及配置PHP Redis扩展的方法,包括下载、安装和基本使用步骤。适合对Redis和PHP集成感兴趣的开发人员参考。 ... [详细]
  • 本文介绍了数据库体系的基础知识,涵盖关系型数据库(如MySQL)和非关系型数据库(如MongoDB)的基本操作及高级功能。通过三个阶段的学习路径——基础、优化和部署,帮助读者全面掌握数据库的使用和管理。 ... [详细]
  • 本文介绍如何在Spring Boot项目中集成Redis,并通过具体案例展示其配置和使用方法。包括添加依赖、配置连接信息、自定义序列化方式以及实现仓储接口。 ... [详细]
  • Spring Boot单元测试中Redis连接失败的解决方案
    本文探讨了在Spring Boot项目中进行单元测试时遇到Redis连接问题的原因及解决方法,详细分析了配置文件加载路径不当导致的问题,并提供了有效的解决方案。 ... [详细]
  • Java项目分层架构设计与实践
    本文探讨了Java项目中应用分层的最佳实践,不仅介绍了常见的三层架构(Controller、Service、DAO),还深入分析了各层的职责划分及优化建议。通过合理的分层设计,可以提高代码的可维护性、扩展性和团队协作效率。 ... [详细]
  • 本文详细介绍了在 Windows 7 系统中配置 Nginx 1.10.3 和 PHP 7.1.1 NTS 的步骤,包括修改 PHP 配置文件、处理依赖项以及创建批处理脚本启动和停止服务。重点解释了如何解决常见的运行时错误。 ... [详细]
  • 优化Flask应用的并发处理:解决Mysql连接过多问题
    本文探讨了在Flask应用中通过优化后端架构来应对高并发请求,特别是针对Mysql 'too many connections' 错误的解决方案。我们将介绍如何利用Redis缓存、Gunicorn多进程和Celery异步任务队列来提升系统的性能和稳定性。 ... [详细]
  • 本文介绍了一个基于 Java SpringMVC 和 SSM 框架的综合系统,涵盖了操作日志记录、文件管理、头像编辑、权限控制、以及多种技术集成如 Shiro、Redis 等,旨在提供一个高效且功能丰富的开发平台。 ... [详细]
  • 本文深入探讨了MySQL中常见的面试问题,包括事务隔离级别、存储引擎选择、索引结构及优化等关键知识点。通过详细解析,帮助读者在面对BAT等大厂面试时更加从容。 ... [详细]
  • 在项目中使用 Redis 时,了解其不同架构模式(如单节点、主从复制、哨兵模式和集群)对于确保系统的高可用性和扩展性至关重要。本文将详细探讨这些模式的特点和应用场景。 ... [详细]
  • 本文详细介绍了虚拟专用网(Virtual Private Network, VPN)的概念及其通过公共网络(如互联网)构建临时且安全连接的技术特点。文章探讨了不同类型的隧道协议,包括第二层和第三层隧道协议,并提供了针对IPSec、GRE以及MPLS VPN的具体配置指导。 ... [详细]
  • 本文探讨了如何通过一系列技术手段提升Spring Boot项目的并发处理能力,解决生产环境中因慢请求导致的系统性能下降问题。 ... [详细]
  • 深入解析Spring Cloud微服务架构与分布式系统实战
    本文详细介绍了Spring Cloud在微服务架构和分布式系统中的应用,结合实际案例和最新技术,帮助读者全面掌握微服务的实现与优化。 ... [详细]
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社区 版权所有