Memcached CAS(Check-And-Set 或 Compare-And-Swap) 命令用于執(zhí)行一個(gè)"檢查并設(shè)置"的操作
它僅在當(dāng)前客戶(hù)端最后一次取值后,該key 對(duì)應(yīng)的值沒(méi)有被其他客戶(hù)端修改的情況下, 才能夠?qū)⒅祵?xiě)入。
檢查是通過(guò)cas_token參數(shù)進(jìn)行的, 這個(gè)參數(shù)是Memcach指定給已經(jīng)存在的元素的一個(gè)唯一的64位值。
CAS 命令的基本語(yǔ)法格式如下:
cas key flags exptime bytes unique_cas_token [noreply] value
參數(shù)說(shuō)明如下:
要在 Memcached 上使用 CAS 命令,你需要從 Memcached 服務(wù)商通過(guò) gets 命令獲取令牌(token)。
gets 命令的功能類(lèi)似于基本的 get 命令。兩個(gè)命令之間的差異在于,gets 返回的信息稍微多一些:64 位的整型值非常像名稱(chēng)/值對(duì)的 "版本" 標(biāo)識(shí)符。
實(shí)例步驟如下:
cas tp 0 900 9 ERROR <? 缺少 token cas tp 0 900 9 2 memcached NOT_FOUND <? 鍵 tp 不存在 set tp 0 900 9 memcached STORED gets tp VALUE tp 0 9 1 memcached END cas tp 0 900 5 1 redis STORED get tp VALUE tp 0 5 redis END
如果數(shù)據(jù)添加成功,則輸出:
STORED
輸出信息說(shuō)明:
更多建議: