ubuntu

Redis如何设置过期时间

小樊
42
2025-06-29 18:08:07
栏目: 云计算

在 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 命令中同时设置键的值和过期时间,使用 EXPXEXATPXAT 选项。

语法:

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 命令

SETEXSETEXPIRE 的组合命令,用于在设置键值的同时指定过期时间(以秒为单位)。

语法:

SETEX key seconds value

示例:

SETEX mykey 60 "Hello, Redis!"

5. 使用 PSETEX 命令

PSETEXSETPEXPIRE 的组合命令,用于在设置键值的同时指定过期时间(以毫秒为单位)。

语法:

PSETEX key milliseconds value

示例:

PSETEX mykey 60000 "Hello, Redis!"

注意事项

示例:

TTL mykey  # 查看 mykey 的剩余过期时间(秒)
PERSIST mykey  # 移除 mykey 的过期时间

通过以上方法,可以灵活地在 Redis 中为键设置过期时间,帮助管理内存和数据生命周期。

0
看了该问题的人还看了