Redis 过期键的设置、获取和删除过期时间
发表于:2025-11-07 作者:千家信息网编辑
千家信息网最后更新 2025年11月07日,Redis 过期键的设置、获取和删除过期时间设置过期默认情况下键是没有生存时间的,也就是永不过期,除非清空内存。设置的键的生存时间也很容易,可以通过4个命令设置(任选一即可):EXPIRE、PEXPI
千家信息网最后更新 2025年11月07日Redis 过期键的设置、获取和删除过期时间
Redis 过期键的设置、获取和删除过期时间
设置过期
默认情况下键是没有生存时间的,也就是永不过期,除非清空内存。
设置的键的生存时间也很容易,可以通过4个命令设置(任选一即可):EXPIRE、PEXPIRE、EXPIREAT、PEXPIREAT命令,这4个命令看起来不同但是背后实现原理都是一样的。常用的其实就是EXPIRE和PEXPIRE这两个,前者是以秒设置过期时间,后者是以毫秒。
| 命令 | 说明 |
|---|---|
| EXPIRE key #s | 将KEY的生存时间设置为#秒 |
| PEXPIRE key #ms | 将KEY的生存时间设置为#毫秒 |
| EXPIREAT key timestamp | 将KEY的生存时间设置为UNIX时间戳,单位为秒 |
| PEXPIREAT key timestamp | 将KEY的生存时间设置为UNIX时间戳,单位为毫秒 |
上面这4个命令只是单位和表现形式上的不同,但实际上EXPIRE、PEXPIRE以及EXPIREAT命令的执行最后都会使用PEXPIREAT来实行。
比如使用EXPIRE来设置KEY的生存时间为N秒,那么后台是如何运行的呢:
它会调用PEXPIRE命令把N秒转换为M毫秒
然后获取当前的UNIX时间单位也是毫秒
- 把当前UNIX时间加上M毫秒传递给PEXPREAT
给键设置了过期时间,这个时间保存在一个字典里,也是键值结构,键是一个指针,指向真实的键,而值这是一个长整型的UNIX时间。
以秒来设置,设置aaa这个键1秒后过期,10秒中以后再获取aaa这个键则返回空。
192.168.20.66:7000> set aaa 123-> Redirected to slot [10439] located at 192.168.20.62:7000OK192.168.20.62:7000> get aaa"123"192.168.20.62:7000> expire aaa 10(integer) 1192.168.20.62:7000> ttl aaa(integer) 7192.168.20.62:7000> ttl aaa(integer) 3192.168.20.62:7000> ttl aaa(integer) -2192.168.20.62:7000> get aaa(nil)以毫秒来设置,设置bbb这个键10000毫秒后过期。
192.168.20.62:7000> set bbb 898-> Redirected to slot [5287] located at 192.168.20.65:7000OK192.168.20.65:7000> pexpire bbb 10000(integer) 1192.168.20.65:7000> ttl bbb(integer) 6192.168.20.65:7000> ttl bbb(integer) 2192.168.20.65:7000> ttl bbb(integer) -2192.168.20.65:7000> get bbb(nil)获取键的过期时间
查看一个键的生存时间(以秒来显示):
ttl key另外还有一个命令是pttl key这个是以毫秒显示。
过期时间返回值的说明
| seconds值 | 说明 |
| -2 | 过期且已删除 |
| -1 | 没有过期时间设置,即永不过期 |
| >0 | 表示距离过期还有多少秒或者毫秒 |
清除键的过期时间
可以使用PERSIST命令移除一个键的过期时间:
192.168.20.65:7000> set aaa hello-> Redirected to slot [10439] located at 192.168.20.62:7000OK192.168.20.62:7000> expire aaa 100(integer) 1192.168.20.62:7000> ttl aaa(integer) 97192.168.20.62:7000> persist aaa(integer) 1192.168.20.62:7000> ttl aaa(integer) -1192.168.20.62:7000> get aaa"hello"
时间
命令
单位
不同
永不
两个
也就是
内存
原理
只是
可以通过
后台
字典
实际
实际上
就是
常用
形式
情况
指向
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
网络安全有几个主题日
中国移动可信赋能网络安全峰会
网络安全议论文题目
网络安全法是哪年定的
e-r模型反应数据库
申论网络安全警情提示
数据库查询当月每天的数据
网络安全施工的保证措施
软件开发的流程控制
微卫星标记数据库
贵州安卓软件开发平台
网络安全管理员的发展前景
网络技术人员超过一定年龄
100g数据库
各级对本地区本部门网络安全
大众275C导航系统数据库
长安信托软件开发工资
长宁区口碑好的软件开发智能系统
网络安全系统项目实施方案
区块链票据撮合软件开发
客户端调用服务器读写文件
济南哪里有学习网络技术的
市人社局网络安全演练
江南烟雨服务器梦幻西游
影响网络安全的有哪两种
安全软件开发有限公司怎么样
服务器操作系统网卡配置
数据库rac集群
湖南服务器维修维保哪家好
服务器允许软件连接外网