標籤:
【Redis Set命令】
SET key value [EX seconds] [PX milliseconds] [NX|XX]
將字串值 value 關聯到 key 。
如果 key 已經持有其他值, SET 就覆寫舊值,無視類型。
對於某個原本帶有存留時間(TTL)的鍵來說, 當 SET 命令成功在這個鍵上執行時, 這個鍵原有的 TTL 將被清除。
選擇性參數
從 Redis 2.6.12 版本開始, SET 命令的行為可以通過一系列參數來修改:
EX second :設定鍵的到期時間為 second 秒。 SET key value EX second 效果等同於 SETEX key second value 。
PX millisecond :設定鍵的到期時間為 millisecond 毫秒。 SET key value PX millisecond 效果等同於 PSETEX key millisecondvalue 。
NX :只在鍵不存在時,才對鍵進行設定作業。 SET key value NX 效果等同於 SETNX key value 。
XX :只在鍵已經存在時,才對鍵進行設定作業。
因為 SET 命令可以通過參數來實現和 SETNX 、 SETEX 和 PSETEX 三個命令的效果,所以將來的 Redis 版本可能會廢棄並最終移除 SETNX 、 SETEX 和 PSETEX 這三個命令。
傳回值:
在 Redis 2.6.12 版本以前, SET 命令總是返回 OK 。
從 Redis 2.6.12 版本開始, SET 在設定作業成功完成時,才返回
OK 。如果設定了
NX 或者
XX ,但因為條件沒達到而造成設定作業未執行,那麼命令返回空批量回複(NULL Bulk Reply)。
【使用模式】
命令 SET resource-name anystring NX EX max-lock-time 是一種在 Redis 中實現鎖的簡單方法。
用戶端執行以上的命令:
- 如果伺服器返回
OK ,那麼這個用戶端獲得鎖。
- 如果伺服器返回
NIL ,那麼用戶端擷取鎖失敗,可以在稍後再重試。
設定的到期時間到達之後,鎖將自動釋放。
參考:http://redisdoc.com/string/set.html
Redis Set命令