EXPIRE key seconds:設定存活秒數,返回 1 成功 / 0 失敗(鍵不存在)。TTL key:返回剩餘秒數,-1 表無過期,-2 表鍵不存在。PERSIST key:移除過期時間,轉為持久鍵。PEXPIRE/PTTL:毫秒級精度版本 (Redis 2.6+)。DEL、SET、GETSET 會清除過期時間;INCR/LPUSH/HSET 等修改操作保留原過期時間。RENAME 會將過期時間轉移至新鍵;覆蓋式重命名則繼承來源鍵特性。時間流逝不依賴實例運行狀態;系統時鐘必須同步,否則 RDB 遷移異機可能導致鍵載入即過期。
客戶端訪問鍵時發現已過期 → 立即刪除。
概率保證:任意時刻佔用記憶體的已過期鍵 ≤ 每秒寫操作峰值 / 4。
DEL 命令寫入 AOF 並同步至所有從節點。記錄用戶最近 60 秒內訪問頁面:
MULTI
RPUSH pageviews:user:{uid} https://...
EXPIRE pageviews:user:{uid} 60
EXEC
閒置超過 60 秒自動清理,完美契合會話語義。