精品熟女碰碰人人a久久,多姿,欧美欧美a v日韩中文字幕,日本福利片秋霞国产午夜,欧美成人禁片在线观看

Memcached CAS 命令

memcached cas 命令

memcached cas(check-and-set 或 compare-and-swap) 命令用于執行一個"檢查并設置"的操作

它僅在當前客戶端最后一次取值后,該key 對應的值沒有被其他客戶端修改的情況下, 才能夠將值寫入。

檢查是通過cas_token參數進行的, 這個參數是memcach指定給已經存在的元素的一個唯一的64位值。

 

1. 語法

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

cas key flags exptime bytes unique_cas_token [noreply]
value

參數說明如下:

  • key:鍵值 key-value 結構中的 key,用于查找緩存值。
  • flags:可以包括鍵值對的整型參數,客戶機使用它存儲關于鍵值對的額外信息 。
  • exptime:在緩存中保存鍵值對的時間長度(以秒為單位,0 表示永遠)
  • bytes:在緩存中存儲的字節數
  • unique_cas_token通過 gets 命令獲取的一個唯一的64位值。
  • noreply(可選): 該參數告知服務器不需要返回數據
  • value:存儲的值(始終位于第二行)(可直接理解為key-value結構中的value)

 

2. 范例

要在 memcached 上使用 cas 命令,你需要從 memcached 服務商通過 gets 命令獲取令牌(token)。

gets 命令的功能類似于基本的 get 命令。兩個命令之間的差異在于,gets 返回的信息稍微多一些:64 位的整型值非常像名稱/值對的 "版本" 標識符。

范例步驟如下:

  • 如果沒有設置唯一令牌,則 cas 命令執行錯誤。
  • 如果鍵 key 不存在,執行失敗。
  • 添加鍵值對。
  • 通過 gets 命令獲取唯一令牌。
  • 使用 cas 命令更新數據
  • 使用 get 命令查看數據是否更新
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

 

3. 輸出

如果數據添加成功,則輸出:

stored

輸出信息說明:

  • stored:保存成功后輸出。
  • error:保存出錯或語法錯誤。
  • exists:在最后一次取值后另外一個用戶也在更新該數據。
  • not_found:memcached 服務上不存在該鍵值。

下一節:memcached get 命令

memcached 教程

相關文章
學習SQL