Memcached replace 命令用于替換已存在的 key(鍵)value(數(shù)據(jù)值)

如果 key 不存在,則替換失敗,并且您將獲得響應 NOT_STORED。

語法:

replace 命令的基本語法格式如下:

replace key flags exptime bytes [noreply]
value

參數(shù)說明如下:

  • key:鍵值 key-value 結構中的 key,用于查找緩存值。

  • flags:可以包括鍵值對的整型參數(shù),客戶機使用它存儲關于鍵值對的額外信息 。

  • exptime:在緩存中保存鍵值對的時間長度(以秒為單位,0 表示永遠)

  • bytes:在緩存中存儲的字節(jié)數(shù)

  • noreply(可選): 該參數(shù)告知服務器不需要返回數(shù)據(jù)

  • value:存儲的值(始終位于第二行)(可直接理解為key-value結構中的value)

實例

以下實例中我們設置:

  • key → mykey

  • flag → 0

  • exptime → 900 (以秒為單位)

  • bytes → 10 (數(shù)據(jù)存儲的字節(jié)數(shù))

  • value → data_value

以下實例中我們使用的鍵位 'mykey' 并存儲對應的值 data_value。執(zhí)行后我們替換相同的 key 的值為 'some_other_value'。

add mykey 0 900 10
data_value
STORED
get mykey
VALUE mykey 0 10
data_value
END
replace mykey 0 900 16
some_other_value
get mykey
VALUE mykey 0 16
some_other_value
END

輸出

如果數(shù)據(jù)添加成功,則輸出:

STORED

輸出信息說明:

  • STORED:保存成功后輸出。

  • NOT_STORED:執(zhí)行替換失敗后輸出。