溫馨提示×

Redis如何設置過期時間

小樊
40
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 命令中同時設置鍵的值和過期時間,使用 EX、PX、EXATPXAT 選項。

語法:

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!"

注意事項

  • 過期時間的精度: EXPIREPEXPIRE 設置的過期時間是近似的,Redis 會盡量在指定時間后刪除鍵,但不保證精確到毫秒級別。

  • 持久化影響: 如果 Redis 使用 RDB 或 AOF 持久化,過期鍵在重啟后可能會恢復。若希望鍵在過期后徹底刪除,可以結合使用 volatileallkeys-lru 等過期策略。

  • 檢查和修改過期時間: 可以使用 TTL 命令查看鍵的剩余過期時間,或使用 PERSIST 命令移除鍵的過期時間。

示例:

TTL mykey  # 查看 mykey 的剩余過期時間(秒)
PERSIST mykey  # 移除 mykey 的過期時間

通過以上方法,可以靈活地在 Redis 中為鍵設置過期時間,幫助管理內存和數據生命周期。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女