本文介紹Tair執行個體新增的String增強類命令,包括CAS和CAD。
前提條件
執行個體為Tair記憶體型或持久記憶體型(小版本為1.2.3及以上)。
最新小版本將提供更豐富的功能與穩定的服務,建議將執行個體的小版本升級到最新,具體操作請參見升級小版本。如果您的執行個體為叢集執行個體或讀寫分離架構,請將代理節點的小版本也升級到最新,否則可能出現命令無法識別的情況。
注意事項
本文的操作對象為Redis String(即Redis原生String)。
Tair執行個體中可同時設定Redis String和TairString,本文的命令無法對TairString使用。
命令列表
表 1. String增強命令
命令 | 文法 | 說明 |
| CAS(Compare And Set),查看指定的oldvalue是否與目標Key的Value相等,若相等則將Value修改成新的值(newvalue),不相等則不修改。 說明 該命令僅適用於操作Redis String類型的資料,如需對TairString做相同的操作,請使用EXCAS。 | |
| CAD(Compare And Delete),查看指定Value值是否與目標Key的Value相等,若相等則刪除該Key,不相等則不刪除。 說明 該命令僅適用於操作Redis String類型的資料,如需對TairString做相同的操作,請使用EXCAD。 |
本文的命令文法定義如下:
大寫關鍵字:命令關鍵字。斜體:變數。[options]:選擇性參數,不在括弧中的參數為必選。A|B:該組參數互斥,請進行二選一或多選一。...:前面的內容可重複。
CAS
類別 | 說明 |
文法 |
|
時間複雜度 | O(1) |
命令描述 | CAS(Compare And Set),查看指定的oldvalue是否與目標Key的Value相等,若相等則將Value修改成新的值(newvalue),不相等則不修改。 說明 該命令僅適用於操作Redis String類型的資料,如需對TairString做相同的操作,請使用EXCAS。 |
選項 |
說明 若原String已設定TTL,在執行CAS命令時不加上TTL,該Key將不到期。 |
傳回值 |
|
樣本 | 提前執行 命令樣本: 返回樣本: 若此時執行 |
CAD
類別 | 說明 |
文法 |
|
時間複雜度 | O(1) |
命令描述 | CAD(Compare And Delete),查看指定Value值是否與目標Key的Value相等,若相等則刪除該Key,不相等則不刪除。 說明 該命令僅適用於操作Redis String類型的資料,如需對TairString做相同的操作,請使用EXCAD。 |
選項 |
|
傳回值 |
|
樣本 | 提前執行 命令樣本: 返回樣本: 執行成功,則foo Key被刪除,若此時執行 |