PEXPIRE
命令用于為已設置的鍵設置過期時間,單位是毫秒。當鍵的過期時間到達時,Redis 會自動刪除該鍵。PEXPIRE
命令的生效過程如下:
當客戶端執行 PEXPIRE key milliseconds
命令時,Redis 會將鍵 key
的過期時間設置為 milliseconds
毫秒。
Redis 會將這個過期時間存儲在鍵的元數據中。鍵的元數據是一個包含鍵值對的數據結構,其中鍵是過期時間(以毫秒為單位)。
Redis 會啟動一個后臺定時任務,用于檢查鍵的過期時間是否到達。這個定時任務的執行頻率取決于 Redis 的配置選項 maxmemory-policy
和 maxmemory
。
當定時任務檢查到鍵的過期時間到達時,Redis 會刪除該鍵及其對應的值。
需要注意的是,PEXPIRE
命令設置的過期時間是相對于當前時間的,而不是絕對時間。例如,如果 PEXPIRE key 30000
被執行,那么鍵 key
的過期時間為 30 秒(30000 毫秒)。如果在這段時間內鍵仍然被使用,那么它的過期時間將被重置為新的執行 PEXPIRE
命令時的值。