news 2026/7/21 20:23:56

(Redis基础教程之十一) 如何使Redis中的Key过期

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
(Redis基础教程之十一) 如何使Redis中的Key过期

介绍

Redis是一个开源的内存中键值数据存储。默认情况下,Redis密钥是_永久性_的,这意味着Redis服务器将继续存储它们,除非手动将其删除。但是,在某些情况下,您已经设置了密钥,但是您知道要在经过一定时间后才将其删除。换句话说,您希望密钥是_可变的_。本教程说明了如何设置密钥的过期时间,如何检查直到密钥过期的剩余时间以及取消密钥的过期设置。

如何使用本指南

本指南以备有完整示例的备忘单形式编写。我们鼓励您跳至与您要完成的任务相关的任何部分。

本指南中显示的命令已在运行Redis版本4.0.9的Ubuntu 18.04服务器上进行了测试。要设置类似的环境,您可以按照我们的指南如何在Ubuntu 18.04上安装和保护Redis的步骤1进行操作。我们将通过使用Redis命令行界面运行它们来演示这些命令的行为。请注意,如果您使用其他Redis界面(例如Redli),则某些命令的确切输出可能会有所不同。redis-cli

另外,您可以提供一个托管的Redis数据库实例来测试这些命令,但是请注意,根据数据库提供者所允许的控制级别,本指南中的某些命令可能无法按所述方式工作。要配置DigitalOcean托管数据库,请遵循我们的托管数据库产品文档。然后,您必须安装Redli设置TLS隧道才能通过TLS连接到托管数据库。

Setting Keys to Expire

您可以使用expire命令设置现有密钥的过期时间,该命令将密钥名称和直到过期的秒数作为参数。为了证明这一点,请运行以下两个命令。第一创建名为字符串键key_melon具有值"cantaloupe",而第二组它到450秒之后超时:

set key_melon "cantaloupe" expire key_melon 450

如果成功设置了超时,则expire命令将返回(integer) 1。如果设置超时失败,它将返回(integer) 0

或者,您可以使用该expireat命令将密钥设置为在特定的时间点过期。它使用Unix时间戳作为参数,而不是到期前的秒数。Unix时间戳是自_Unix纪元_(即1970年1月1日UTC 00:00:00)以来的秒数。可以使用许多在线工具来查找特定日期和时间的Unix时间戳,例如EpochConverter或UnixTimestamp.com。

例如,要设置key_melon为在2025年5月1日格林尼治标准时间晚上8:30到期(以Unix timestamp表示1746131400),可以使用以下命令:

expireat key_melon 1746131400

请注意,如果传递给您的时间戳expireat已经发生,它将立即删除密钥。

Checking How Long Until a Key Expires

你设置一键到期任何时候,你可以检查剩余到期为止(以秒为单位)的时候ttl,它的全称是“牛逼IME牛逼Ø香港专业教育学院”:

ttl key_melon Output(integer) 433

有关更详细的信息,可以运行pttl,它将返回直到密钥过期的时间(以毫秒为单位):

pttl key_melon Output(integer) 431506

如果密钥尚未设置为过期且密钥不存在,则两者ttlpttl都将返回。(integer) -1``(integer) -2

Persisting Keys

如果密钥已设置为过期,则任何覆盖密钥内容的命令(例如setgetset)都会清除密钥的超时值。要手动清除键的超时,请使用以下persist命令:

persist key_melon

如果成功完成,该persist命令将返回(integer) 1,表明密钥将不再过期。

Conclusion

本指南详细介绍了用于在Redis中操作和检查键持久性的许多命令。如果您想在本指南中概述其他相关的命令,参数或过程,请在下面的评论中提出疑问或提出建议。

有关Redis命令的更多信息,请参阅关于如何管理Redis数据库的系列教程。

  1. 如何在ubuntu18.04上安装和保护redis
  2. 如何连接到Redis数据库
  3. 如何管理Redis数据库和Keys
  4. 如何在Redis中管理副本和客户端
  5. 如何在Redis中管理字符串
  6. 如何在Redis中管理list
  7. 如何在Redis中管理Hashes
  8. 如何在Redis中管理Sets
  9. 如何在Redis中管理Sorted Sets
  10. 如何在Redis中运行事务
  11. 如何使Redis中的Key失效
  12. 如何解决Redis中的故障
  13. 如何从命令行更改Redis的配置
  14. Redis数据类型简介
  15. Redis 中如何使用 lua 脚本
  16. Redis 常用命令指南
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/21 20:21:07

Ralph for Claude Code:当AI开发助手需要说再见时的彻底清理指南

Ralph for Claude Code:当AI开发助手需要说再见时的彻底清理指南 【免费下载链接】ralph-claude-code Autonomous AI development loop for Claude Code with intelligent exit detection 项目地址: https://gitcode.com/GitHub_Trending/ra/ralph-claude-code …

作者头像 李华
网站建设 2026/7/21 20:18:44

OpenCV-Python实战(10)——详解 OpenCV 轮廓检测

OpenCV-Python实战(10)——详解 OpenCV 轮廓检测 0. 前言 1. 轮廓介绍 2. 轮廓检测 3. 轮廓压缩 4. 图像矩 4. 1 一些基于矩的对象特征 4.2 Hu 不变矩 小结 系列链接 0. 前言 在计算机视觉领域,轮廓通常指图像中对象边界的一系列点。因此,轮廓通常描述了对象边界的关键信息…

作者头像 李华
网站建设 2026/7/21 20:06:21

Neovim-GTK源代码解析:理解Rust GUI编程的最佳实践

Neovim-GTK源代码解析:理解Rust GUI编程的最佳实践 【免费下载链接】neovim-gtk gtk ui for neovim 项目地址: https://gitcode.com/gh_mirrors/ne/neovim-gtk Neovim-GTK是一个基于GTK的Neovim图形界面客户端,采用Rust语言开发,完美结…

作者头像 李华