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