set key value [expiration EX seconds|PX milliseconds] [NX|XX]
EX seconds:將鍵的過期時間設定為 seconds 秒。 SET key value EX seconds 等同於 SETEX key seconds valuePX millisecounds:將鍵的過期時間設定為 milliseconds 毫秒。 SET key value PX milliseconds 等同於 PSETEX key milliseconds valueNX:只在鍵不存在的時候,才對鍵進行設定操作。 SET key value NX 等同於 SETNX key valueXX:只在鍵已經存在的時候,才對鍵進行設定操作三、例子
一、 Redis分散式鎖實現原理
存在風險:SETNX和EXPIRE 為兩個指令,如果設定了SETNX後程序崩潰,EXPIRE未成功執行則會出現資源鎖死的情況。二、針對該問題,redis 在2.6.12版本過後增加新的解決方案
set key value [expiration EX seconds|PX milliseconds] [NX|XX]
EX seconds:將鍵的過期時間設定為 seconds 秒。 SET key value EX seconds 等同於 SETEX key seconds valuePX millisecounds:將鍵的過期時間設定為 milliseconds 毫秒。 SET key value PX milliseconds 等同於 PSETEX key milliseconds valueNX:只在鍵不存在的時候,才對鍵進行設定操作。 SET key value NX 等同於 SETNX key valueXX:只在鍵已經存在的時候,才對鍵進行設定操作三、例子
set name zhangsan EX 10 NX
當 "name" 不存在時進行設定,同時設定超時時間為10s(將SETNX和EXPIRE合二為一)SET操作成功後,返回的是OK,失敗返回NIL