日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

exString

TairString(exString)是一種帶版本號的String類型數據結構,本文介紹TairString數據支持的命令。

TairString簡介

Redis的String僅由key和value組成,而TairString不僅包含key和value,還攜帶了版本(version),可用于樂觀鎖等場景。除此之外,TairString在Redis String加減功能的基礎上支持了邊界設置,可以將INCRBYINCRBYFLOAT的結果限制在一定的范圍內,超出范圍則提示錯誤。

主要特性

  • value攜帶版本號。

  • 使用INCRBYINCRBYFLOAT遞增數據時可設置變更范圍。

該Module已開源,更多信息請參見TairString

最佳實踐

前提條件

實例為Tair內存型持久內存型(小版本為1.2.3及以上)。

說明

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

注意事項

本文的操作對象為Tair實例中的TairString數據。

說明

Tair實例中可同時設置Redis String(即Redis原生String)和TairString,本文的命令無法對Redis String使用。

命令列表

表 1. TairString命令

命令

語法

簡介

EXSET

EXSET key value [EX|PX|EXAT|PXAT time] [NX|XX] [VER|ABS version] [KEEPTTL]

若key不存在,則創建新的key,并將value保存到key中;若key已存在,則覆蓋原來value的值。

EXGET

EXGET key

獲取TairString的value和version。

EXSETVER

EXSETVER key version

設置目標key的version。

EXINCRBY

EXINCRBY key num [EX|PX|EXAT|PXAT time] [NX|XX] [VER|ABS version] [MIN minval] [MAX maxval] [KEEPTTL]

對TairString的value進行自增自減操作,num的范圍為long。

EXINCRBYFLOAT

EXINCRBYFLOAT key num [EX|PX|EXAT|PXAT time] [NX|XX] [VER|ABS version] [MIN minval] [MAX maxval] [KEEPTTL]

對TairString的value進行自增自減操作,num的范圍為double。

EXCAS

EXCAS key newvalue version

當目標key的version值與指定的version相等時,則更新key的value值;version不相等,則返回舊的value和version。

EXCAD

EXCAD key version

當目標key的version值與指定的version相等時,則刪除Key。

DEL

DEL key [key ...]

使用原生Redis的DEL命令可以刪除一條或多條TairString數據。

說明

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

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

  • 斜體:變量。

  • [options]:可選參數,不在括號中的參數為必選。

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

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

EXSET

類別

說明

語法

EXSET key value [EX|PX|EXAT|PXAT time] [NX|XX] [VER|ABS version] [KEEPTTL]

時間復雜度

O(1)

命令描述

若key不存在,則創建新的key,并將value保存到key中;若key已存在,則覆蓋原來value的值。

選項

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

  • value:為key設置的value。

  • EX:指定key的相對過期時間,單位為秒,為0表示馬上過期,不傳此參數表示不過期

  • EXAT:指定key的絕對過期時間,單位為秒,為0表示馬上過期,不傳此參數表示不過期

  • PX:指定key的相對過期時間,單位為毫秒,為0表示馬上過期,不傳此參數表示不過期

  • PXAT:指定key的絕對過期時間,單位為毫秒 ,為0表示馬上過期,不傳此參數表示不過期

  • NX:只在key不存在時寫入。

  • XX:只在key存在時寫入。

  • VER:版本號。

    • 如果key存在,和當前版本號做比較:

      • 如果相等,寫入,且版本號加1。

      • 如果不相等,返回異常。

    • 如果key不存在或者key當前版本為0,忽略傳入的版本號直接設置value,成功后版本號變為1。

  • ABS:絕對版本號。設置后,無論key當前的版本號是多少,完成寫入并將key的版本號覆蓋為該選項中設置的值。

  • KEEPTTL:延用該key原本設置的過期時間(Time to live,TTL信息),該參數不能與EXPXEXATPXAT參數同時設置。

    說明

    若未設置KEEPTTL參數,也未設置EXPX等設置過期時間的參數,則該key的過期時間將被刪除,即表示該key不會過期。

返回值

  • 執行成功:OK。

  • 指定了XX且key不存在:nil。

  • 指定了NX且key已經存在:nil。

  • 其它情況返回相應的異常信息。

示例

命令示例:

EXSET foo bar EX 10 NX ABS 100

返回示例:

OK

EXGET

類別

說明

語法

EXGET key

時間復雜度

O(1)

命令描述

獲取TairString的value和version。

選項

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

返回值

  • 執行成功:value與version。

  • 其它情況返回相應的異常信息。

示例

命令示例:

EXGET foo

返回示例:

1) "bar"
2) (integer) 1

EXSETVER

類別

說明

語法

EXSETVER key version

時間復雜度

O(1)

命令描述

設置目標key的version。

選項

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

  • version:需要設置的版本號。

返回值

  • 執行成功:1。

  • 若key不存在:0。

  • 其它情況返回相應的異常信息。

示例

命令示例:

EXSETVER foo 2

返回示例:

(integer) 1

EXINCRBY

類別

說明

語法

EXINCRBY key num [EX|PX|EXAT|PXAT time] [NX|XX] [VER|ABS version] [MIN minval] [MAX maxval] [KEEPTTL]

時間復雜度

O(1)

命令描述

對TairString的value進行自增自減操作,num的范圍為long。

選項

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

  • num:TairString進行自增自減操作的數值,必須為整數。

  • EX:指定key的相對過期時間,單位為秒,為0表示馬上過期,不傳此參數表示不過期

  • EXAT:指定key的絕對過期時間,單位為秒,為0表示馬上過期,不傳此參數表示不過期

  • PX:指定key的相對過期時間,單位為毫秒,為0表示馬上過期,不傳此參數表示不過期

  • PXAT:指定key的絕對過期時間,單位為毫秒 ,為0表示馬上過期,不傳此參數表示不過期

  • NX:只在key不存在時寫入。

  • XX:只在key存在時寫入。

  • VER:版本號。

    • 如果key存在,和當前版本號做比較:

      • 如果相等,進行自增,且版本號加1。

      • 如果不相等,返回異常。

    • 如果key不存在或者key當前版本為0,忽略傳入的版本號并進行自增操作,成功后版本號變為1。

  • ABS:絕對版本號。設置后,無論key當前的版本號是多少,完成寫入并將key的版本號覆蓋為該選項中設置的值。

  • MIN:設置TairString value的最小值。

  • MAX:設置TairString value的最大值。

  • KEEPTTL:延用該key原本設置的過期時間,該參數不能與EXPXEXATPXAT參數同時設置。

    說明

    若未設置KEEPTTL參數,也未設置EXPX等設置過期時間的參數,則該key的過期時間將被刪除,即表示該key不會過期。

返回值

  • 執行成功:操作后value的值。

  • 若設置了MAX或MIN,而操作后的value超過了該范圍:(error) ERR increment or decrement would overflow。

  • 其它情況返回相應的異常信息。

示例

提前執行EXSET foo 1命令。

命令示例:

EXINCRBY foo 100 MAX 300

返回示例:

(integer) 101

EXINCRBYFLOAT

類別

說明

語法

EXINCRBYFLOAT key num [EX|PX|EXAT|PXAT time] [NX|XX] [VER|ABS version] [MIN minval] [MAX maxval] [KEEPTTL]

時間復雜度

O(1)

命令描述

對TairString的value進行自增自減操作,num的范圍為double。

選項

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

  • num:TairString進行自增自減操作的數值,類型為浮點數。

  • EX:指定key的相對過期時間,單位為秒,為0表示馬上過期,不傳此參數表示不過期

  • EXAT:指定key的絕對過期時間,單位為秒,為0表示馬上過期,不傳此參數表示不過期

  • PX:指定key的相對過期時間,單位為毫秒,為0表示馬上過期,不傳此參數表示不過期

  • PXAT:指定key的絕對過期時間,單位為毫秒 ,為0表示馬上過期,不傳此參數表示不過期

  • NX:只在key不存在時寫入。

  • XX:只在key存在時寫入。

  • VER:版本號。

    • 如果key存在,和當前版本號做比較:

      • 如果相等,進行自增,且版本號加1。

      • 如果不相等,返回異常。

    • 如果key不存在或者key當前版本為0,忽略傳入的版本號并進行自增操作,成功后版本號變為1。

  • ABS:絕對版本號。設置后,無論key當前的版本號是多少,完成寫入并將key的版本號覆蓋為該選項中設置的值。

  • MIN:設置TairString value的最小值。

  • MAX:設置TairString value的最大值。

  • KEEPTTL:延用該key原本設置的過期時間,該參數不能與EXPXEXATPXAT參數同時設置。

    說明

    若未設置KEEPTTL參數,也未設置EXPX等設置過期時間的參數,則該key的過期時間將被刪除,即表示該key不會過期。

返回值

  • 執行成功:操作后value的值。

  • 若設置了MAX或MIN,而操作后的value超過了該范圍:(error) ERR increment or decrement would overflow。

  • 其它情況返回相應的異常信息。

示例

提前執行EXSET foo 1命令。

命令示例:

EXINCRBYFLOAT foo 10.123

返回示例:

(integer) 11.123

EXCAS

類別

說明

語法

EXCAS key newvalue version

時間復雜度

O(1)

命令描述

當目標key的version值與指定的version相等時,則更新key的value值;version不相等,則返回舊的value和version。

選項

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

  • newvalue:若key的version值與指定的version相等,將value修改為newvalue。

  • version:用于跟key的現有version值比較的值。

返回值

  • 執行成功:["OK", "",最新的version]。中間的""為無意義的空字符串。

  • 執行失敗:["ERR update version is stale", value, version]。value和version為key當前的value和版本。

  • 若key不存在:-1。

  • 其它情況返回相應的異常信息。

示例

提前執行EXSET foo bar命令。

命令示例:

EXCAS foo bzz 1

返回示例:

1) OK
2)
3) (integer) 2

EXCAD

類別

說明

語法

EXCAD key version

時間復雜度

O(1)

命令描述

當目標key的version值與指定的version相等時,則刪除Key。

選項

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

  • version:用于跟key的現有version值比較的值。

返回值

  • 執行成功:1。

  • 執行失敗:0。

  • 若key不存在:-1。

  • 其它情況返回相應的異常信息。

示例

提前執行EXSET foo bar命令。

命令示例:

EXCAD foo 1

返回示例:

(integer) 1