在 Redis 中,可以为键(key)设置过期时间,使其在指定的时间后自动删除。以下是几种常用的方法来设置键的过期时间:
1. 使用 EXPIRE 命令
EXPIRE 命令用于为指定的键设置过期时间(以秒为单位)。
语法:
EXPIRE key seconds
示例:
SET mykey "Hello, Redis!"
EXPIRE mykey 60 # 设置 mykey 在 60 秒后过期
2. 使用 PEXPIRE 命令
PEXPIRE 命令与 EXPIRE 类似,但它以毫秒为单位设置过期时间。
语法:
PEXPIRE key milliseconds
示例:
SET mykey "Hello, Redis!"
PEXPIRE mykey 60000 # 设置 mykey 在 60000 毫秒(60 秒)后过期
3. 在设置键值时直接指定过期时间
可以在 SET 命令中同时设置键的值和过期时间,使用 EX、PX、EXAT 或 PXAT 选项。
语法:
SET key value EX seconds
SET key value PX milliseconds
SET key value EXAT timestamp
SET key value PXAT milliseconds-timestamp
示例:
# 使用 EX 设置 60 秒后过期
SET mykey "Hello, Redis!" EX 60
# 使用 PX 设置 60000 毫秒(60 秒)后过期
SET mykey "Hello, Redis!" PX 60000
# 使用 EXAT 设置具体的过期时间戳(秒级)
SET mykey "Hello, Redis!" EXAT 1697059200
# 使用 PXAT 设置具体的过期时间戳(毫秒级)
SET mykey "Hello, Redis!" PXAT 1697059200000
4. 使用 SETEX 命令
SETEX 是 SET 和 EXPIRE 的组合命令,用于在设置键值的同时指定过期时间(以秒为单位)。
语法:
SETEX key seconds value
示例:
SETEX mykey 60 "Hello, Redis!"
5. 使用 PSETEX 命令
PSETEX 是 SET 和 PEXPIRE 的组合命令,用于在设置键值的同时指定过期时间(以毫秒为单位)。
语法:
PSETEX key milliseconds value
示例:
PSETEX mykey 60000 "Hello, Redis!"
注意事项
-
过期时间的精度:
EXPIRE和PEXPIRE设置的过期时间是近似的,Redis 会尽量在指定时间后删除键,但不保证精确到毫秒级别。 -
持久化影响: 如果 Redis 使用 RDB 或 AOF 持久化,过期键在重启后可能会恢复。若希望键在过期后彻底删除,可以结合使用
volatile或allkeys-lru等过期策略。 -
检查和修改过期时间: 可以使用
TTL命令查看键的剩余过期时间,或使用PERSIST命令移除键的过期时间。
示例:
TTL mykey # 查看 mykey 的剩余过期时间(秒)
PERSIST mykey # 移除 mykey 的过期时间
通过以上方法,可以灵活地在 Redis 中为键设置过期时间,帮助管理内存和数据生命周期。
以上就是关于“Redis如何设置过期时间”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm