全部產品
Search
文件中心

Tair (Redis® OSS-Compatible):Redis String命令增強

更新時間:Aug 20, 2024

本文介紹Tair執行個體新增的String增強類命令,包括CAS和CAD。

前提條件

執行個體為Tair記憶體型持久記憶體型(小版本為1.2.3及以上)。

說明

最新小版本將提供更豐富的功能與穩定的服務,建議將執行個體的小版本升級到最新,具體操作請參見升級小版本。如果您的執行個體為叢集執行個體或讀寫分離架構,請將代理節點的小版本也升級到最新,否則可能出現命令無法識別的情況。

注意事項

本文的操作對象為Redis String(即Redis原生String)。

說明

Tair執行個體中可同時設定Redis String和TairString,本文的命令無法對TairString使用。

命令列表

表 1. String增強命令

命令

文法

說明

CAS

CAS key oldvalue newvalue

CAS(Compare And Set),查看目標key的value是否等於一個指定的值,如果相等,則將value修改為一個新的值;不相等則不修改。

說明

該命令僅適用於操作Redis String類型的資料,如需對TairString做相同的操作,請使用EXCAS。

CAD

CAD key value

CAD(Compare And Delete),查看目標key的value是否等於指定的value值,如果相等,刪除該key;不相等則不刪除。

說明

該命令僅適用於操作Redis String類型的資料,如需對TairString做相同的操作,請使用EXCAD。

說明

本文的命令文法定義如下:

  • 大寫關鍵字:命令關鍵字。

  • 斜體:變數。

  • [options]:選擇性參數,不在括弧中的參數為必選。

  • A|B:該組參數互斥,請進行二選一或多選一。

  • ...:前面的內容可重複。

CAS

類別

說明

文法

CAS key oldvalue newvalue

時間複雜度

O(1)

命令描述

CAS(Compare And Set),查看目標key的value是否等於一個指定的值,如果相等,則將value修改為一個新的值;不相等則不修改。

說明

該命令僅適用於操作Redis String類型的資料,如需對TairString做相同的操作,請使用EXCAS。

選項

  • Key:String的key,用於指定作為命令調用對象的String。

  • oldvalue:用於跟key現有的value比較的值。

  • newvalue:當oldvalue與key現有value相等時,將value修改為newvalue。

傳回值

  • 執行成功:1

  • 執行失敗:0

  • 若Key不存在:-1

  • 其它情況返回相應的異常資訊。

樣本

提前執行SET foo bar命令。

命令樣本:

CAS foo bar bzz

返回樣本:

(integer) 1

若此時執行GET foo,將返回“bzz”

CAD

類別

說明

文法

CAD key value

時間複雜度

O(1)

命令描述

CAD(Compare And Delete),查看目標key的value是否等於指定的value值,如果相等,刪除該key;不相等則不刪除。

說明

該命令僅適用於操作Redis String類型的資料,如需對TairString做相同的操作,請使用EXCAD。

選項

  • Key:String的key,用於指定作為命令調用對象的String。

  • value:用於跟key現有的value比較的值。

傳回值

  • 執行成功:1

  • 執行失敗:0

  • 若Key不存在:-1

  • 其它情況返回相應的異常資訊。

樣本

提前執行SET foo bar命令。

命令樣本:

CAD foo bar

返回樣本:

(integer) 1

執行成功,則foo key被刪除,若此時執行GET foo,將返回(nil)