Redis Set命令


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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM