Redis 設(shè)置key對應(yīng)的值為string類型的value

2018-08-03 10:58 更新
set key value [ex 秒數(shù)] / [px 毫秒數(shù)]  [nx] /[xx]  

返回1表示成功,0失敗

注: 如果ex,px同時寫,以后面的有效期為準(zhǔn)
setnx key value

僅當(dāng)key不存在時才Set,如果key已經(jīng)存在,返回0 。nx 是not exist的意思。

應(yīng)用場景:用來選舉Master或做分布式鎖:所有Client不斷嘗試使用SetNx master myName搶注Master,成功的那位不斷使用Expire刷新它的過期時間。如果Master倒掉了key就會失效,剩下的節(jié)點(diǎn)又會發(fā)生新一輪搶奪。
mset key1 value1 ... keyN valueN 

一次設(shè)置多個key的值,成功返回1表示所有的值都設(shè)置了,失敗返回0表示沒有任何值被設(shè)置

msetnx key1 value1 ... keyN valueN 

同上,但是不會覆蓋已經(jīng)存在的key

SET 命令還支持可選的 NX 選項(xiàng)和 XX 選項(xiàng),例如:SET nx-str "this will fail" XX

  • 如果給定了 NX 選項(xiàng),那么命令僅在鍵 key 不存在的情況下,才進(jìn)行設(shè)置操作;如果鍵 key 已經(jīng)存在,那么 SET ... NX 命令不做動作(不會覆蓋舊值)。
  • 如果給定了 XX 選項(xiàng),那么命令僅在鍵 key 已經(jīng)存在的情況下,才進(jìn)行設(shè)置操作;如果鍵 key 不存在,那么 SET ... XX 命令不做動作(一定會覆蓋舊值)。在給定 NX 選項(xiàng)和 XX 選項(xiàng)的情況下,SET 命令在設(shè)置成功時返回 OK ,設(shè)置失敗時返回 nil 。


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號