栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Redis键过期相关操作

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Redis键过期相关操作

文章目录
  • 一、设置键的生存时间
  • 二、创建键的同时设置生存时间
  • 三、对键设置过期时间
  • 四、获取键的剩余生存时间

Redis提供了为键设置过期时间的功能,可以让键在指定的时间之后自动被移除,从而避免了需要在指定的时间内手动删除操作的麻烦。

一、设置键的生存时间

可以通过EXPIRE命令或者PEXPIRE命令为键设置一个生存时间,当一个键的生存时间消耗殆尽时,Redis就会移除这个键。
EXPIRE命令用于设置秒级精度的生存时间,它可以让键在指定的秒数之后自动被移除;
而PEXPIRE命令则用于设置毫秒级精度的生存时间,它可以让键在指定的毫秒数之后自动被移除;

语法格式:
EXPIRE key seconds
PEXPIRE key milliseconds
如,

# 设置键user.101的生存时间为5秒
EXPIRE user.101 5

# 设置键user.102的生存时间为500毫秒
EXPIRE user.102 500

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

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

二、创建键的同时设置生存时间

Redis从2.6.12版本开始为SET命令提供了EX选项和PX选项,分别用于对键设置秒级过期时间和毫秒级过期时间。如

# 创建字符串键name的同时将其生成时间设置为5秒
SET name 'peter' EX 5

使用带有EX选项或PX选项的SET命令除了可以减少命令的调用数量并提升程序的执行速度之外,更重要的是保证了操作的原子性,使得“为键设置值”和“为键设置生存时间”这两个操作可以一起执行。

三、对键设置过期时间

设置过期时间即设置键在未来的某个时间时被消除,设置过期时间这一操作可以通过EXPIREAT命令或者PEXPIREAT命令来完成。其中,EXPIREAT命令接受一个键和一个秒级精度的UNIX时间戳为参数,当系统的当前UNIX时间超过命令指定的UNIX时间时,给定的键就会被移除,如

# 设置键name在UNIX时间1450005000秒后被消除
EXPIREAT name 1450005000

与EXPIRE/PEXPIRE命令会更新键的生存时间一样,EXPIREAT/PEXPIREAT命令也会更新键的过期时间:如果用户在执行EXPIREAT命令或PEXPIREAT命令的时候,给定键已经带有过期时间,那么命令首先会移除键已有的过期时间,然后再为其设置新的过期时间。

四、获取键的剩余生存时间

在为键设置了生存时间或者过期时间之后,可以使用TTL命令或者PTTL命令查看键的剩余生存时间。其中,TTL命令将以秒为单位返回键的剩余生存时间,而PTTL命令则会以毫秒为单位返回键的剩余生存时间。
语法格式:
TTL key
PTTL key

如果给定的键存在,但是并没有设置生存时间或者过期时间,那么TTL命令和PTTL命令将返回-1;
如果给定的键并不存在,那么TTL命令和PTTL命令将返回-2;

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/298031.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号