介绍
Redis是一个开源的内存密钥值数据存储库。 Redis 密钥默认为 persistent,这意味着 Redis 服务器将继续存储它们,除非它们被手动删除。
本教程解释了如何设置密钥到期,检查密钥到期剩余时间,并取消密钥到期设置。
如何使用此指南
这个指南是写成一个骗局的表,包含自含的示例,我们鼓励你跳到任何与你试图完成的任务相关的部分。
在本指南中显示的命令在运行 Redis 版本 6.0.1 版本的 Ubuntu 22.04 服务器上进行了测试。 要设置类似的环境,您可以遵循我们指南中的 Step 1 在 How To Install and Secure Redis on Ubuntu 22.04 上进行测试。 我们将通过使用 Redis 命令行接口的 redis-cli
来演示这些命令的行为。 如果您使用不同的 Redis 接口 - 例如 - 某些命令的准确输出可能会有所不同。
或者,您可以提供一个受管理的 Redis 数据库实例来测试这些命令,但取决于数据库提供商允许的控制水平,本指南中的一些命令可能无法按描述的方式工作。 要提供 DigitalOcean 受管理数据库,请遵循我们的 管理数据库产品文档。
设置密钥到期
您可以使用到期
命令为现有密钥设置到期时间,该命令将密钥的名称和到期时的秒数作为参数。 要证明这一点,请运行以下两个命令。
1set key_melon "cantaloupe"
第二个命令设置它在450
秒后到期:
1expire key_melon 450
如果成功设置了时隔,则到期
命令将返回(整数) 1
。
或者,您可以使用 expireat
命令将密钥设置为到期时间的特定时刻,而不是到期前的秒数,它需要一个 Unix timestamp作为一个论点。 Unix timestamp是自1970年1月1日 Unix epoch,或 00:00:00 UTC 以来的秒数。
例如,要将 key_melon
设置为 2025 年 5 月 1 日 GMT 8:30 时到期(由 Unix 时刻印 1746131400
表示),您可以使用以下命令:
1expireat key_melon 1746131400
请注意,如果您转移到到期
的时刻印已经发生,它将立即删除密钥。
检查一个密钥到期多久
當您設定一個密钥到期時,您可以使用「ttl」來檢查到期時間的剩餘時間(在秒內),這表示「t time ** t** o ** l** ive」:
1ttl key_melon
1[secondary_label Output]
2(integer) 79247184
若要获取更详细的信息,您可以运行pttl
,而这将返回时间,直到密钥在毫秒内到期:
1pttl key_melon
1[secondary_label Output]
2(integer) 79247156730
ttl
和pttl
都将返回(整数) -1
,如果密钥未设定到期,如果密钥不存在,则返回(整数) -2
。
持久的钥匙
如果一个密钥已设置为过期,任何重写密钥的内容的命令(如设置
或设置
等)将清除密钥的时空值。
1persist key_melon
如果成功完成,坚持
命令将返回(整数) 1
,表示密钥将不再过期。
结论
本指南详细介绍了在 Redis 中操纵和检查密钥持久性的若有其他相关命令、论点或程序,您希望在本指南中了解,请在评论中询问或提出建议。
有关 Redis 命令的更多信息,请参阅我们的教程系列 如何管理 Redis 数据库。