SET key value [EX seconds] [PX milliseconds] [NX|XX] EX seconds : 將鍵的過期時間設置為 seconds 秒。 執行 SET key value EX seconds 的效果等同於執行 SETEX key seconds value 。 ...
SET key value [EX seconds] [PX milliseconds] [NX|XX]
EX seconds : 將鍵的過期時間設置為 seconds 秒。 執行 SET key value EX seconds 的效果等同於執行 SETEX key seconds value 。
PX milliseconds : 將鍵的過期時間設置為 milliseconds 毫秒。 執行 SET key value PX milliseconds 的效果等同於執行 PSETEX key milliseconds value 。
NX : 只在鍵不存在時, 才對鍵進行設置操作。 執行 SET key value NX 的效果等同於執行 SETNX key value 。
XX : 只在鍵已經存在時, 才對鍵進行設置操作
SETEX key seconds value
將值 value 關聯到 key ,並將 key 的生存時間設為 seconds (以秒為單位), 如果 key 已經存在, SETEX 命令將覆寫舊值.
setnx + expire = 非原子性;setnx 與 expire 是兩條獨立的語句,這樣加鎖操作就是非原子性的,那麼就會帶來問題。(比如,當setnx成功後,準備執行expire前,程式突然出現錯誤,則添加的數據就無法清除了,因為沒有超時時間,不會自動清除)