溫馨提示×

redis pexpire如何生效

小樊
81
2024-11-10 20:45:41
欄目: 云計算

PEXPIRE 命令用于為已設(shè)置的鍵設(shè)置過期時間,單位是毫秒。當(dāng)鍵的過期時間到達(dá)時,Redis 會自動刪除該鍵。PEXPIRE 命令的生效過程如下:

  1. 當(dāng)客戶端執(zhí)行 PEXPIRE key milliseconds 命令時,Redis 會將鍵 key 的過期時間設(shè)置為 milliseconds 毫秒。

  2. Redis 會將這個過期時間存儲在鍵的元數(shù)據(jù)中。鍵的元數(shù)據(jù)是一個包含鍵值對的數(shù)據(jù)結(jié)構(gòu),其中鍵是過期時間(以毫秒為單位)。

  3. Redis 會啟動一個后臺定時任務(wù),用于檢查鍵的過期時間是否到達(dá)。這個定時任務(wù)的執(zhí)行頻率取決于 Redis 的配置選項 maxmemory-policymaxmemory。

  4. 當(dāng)定時任務(wù)檢查到鍵的過期時間到達(dá)時,Redis 會刪除該鍵及其對應(yīng)的值。

需要注意的是,PEXPIRE 命令設(shè)置的過期時間是相對于當(dāng)前時間的,而不是絕對時間。例如,如果 PEXPIRE key 30000 被執(zhí)行,那么鍵 key 的過期時間為 30 秒(30000 毫秒)。如果在這段時間內(nèi)鍵仍然被使用,那么它的過期時間將被重置為新的執(zhí)行 PEXPIRE 命令時的值。

0