當我們提及資料儲存,我們通常希望資料能夠長時間地保存。但在某些情形之下,我們可能只需要暫時地保存某些資料,或者希望資料在某段時間後自動失效。例如,快取的資料、提供短暫的授權功能、或者一次性的驗證碼。這時,Redis 中的臨時鍵-值對功能就派上用場
在 Redis 中,臨時鍵-值對是指一個鍵和其相對應的值有一個設定的生命週期,當這個生命週期到達時,這個鍵和其值會自動從 Redis 中被移除。這個生命週期被稱為 "TTL"(Time-To-Live),表示這個鍵可以存活的時間
EXPIRE
/ PEXPIRE
EXPIRE
: 設定鍵的過期時間(以秒為單位)。
127.0.0.1:6379> EXPIRE mykey 10
(integer) 1
PEXPIRE
: 設定鍵的過期時間(以毫秒為單位)。
127.0.0.1:6379> PEXPIRE mykey 10000
(integer) 1
TTL
/ PTTL
TTL
: 查詢指定鍵的剩餘生存時間(以秒為單位)。
127.0.0.1:6379> TTL mykey
(integer) 8
PTTL
: 查詢指定鍵的剩餘生存時間(以毫秒為單位)。
127.0.0.1:6379> PTTL mykey
(integer) 8000
PERSIST
移除指定鍵的過期時間,使其永不過期。
127.0.0.1:6379> PERSIST mykey
(integer) 1
SETEX
/ PSETEX
SETEX
: 設定鍵的值和過期時間(以秒為單位)。
127.0.0.1:6379> SETEX mykey 10 "Hello"
OK
PSETEX
: 設定鍵的值和過期時間(以毫秒為單位)。
127.0.0.1:6379> PSETEX mykey 10000 "Hello"
OK
SET EXAT
/ SET PXAT
SET EXAT
: 使用絕對的 UNIX 時間戳(以秒為單位)來設定鍵的過期時間。
127.0.0.1:6379> SET mykey "Hello" EXAT 1672531200
OK
SET PXAT
: 使用絕對的 UNIX 時間戳(以毫秒為單位)來設定鍵的過期時間。
127.0.0.1:6379> SET mykey "Hello" PXAT 1672531200500
OK
SET KEEPTTL
使用 SET
命令更新鍵的值,同時保留原來的過期時間。
127.0.0.1:6379> SET mykey "Hello" KEEPTTL
OK
EXPIREAT
使用絕對的 UNIX 時間戳(以秒為單位)來設定鍵的過期時間。
127.0.0.1:6379> EXPIREAT mykey 1672531200
(integer) 1
PEXPIRE
/ PEXPIREAT
PEXPIREAT
: 使用絕對的 UNIX 時間戳(以毫秒為單位)來設定鍵的過期時間。
127.0.0.1:6379> PEXPIREAT mykey 1672531200500
(integer) 1
這些指令允許我們對 Redis 中的鍵進行靈活的生命周期管理。
SET
),原先的過期時間會被移除