TairString(exString)是一种带版本号的String类型数据结构,本文介绍TairString数据支持的命令。
TairString简介
Redis的String仅由key和value组成,而TairString不仅包含key和value,还携带了版本(version),可用于乐观锁等场景。除此之外,TairString在Redis String加减功能的基础上支持了边界设置,可以将INCRBY、INCRBYFLOAT的结果限制在一定的范围内,超出范围则提示错误。
主要特性- value携带版本号。
- 使用INCRBY、INCRBYFLOAT递增数据时可设置变更范围。
该Module已开源,更多信息请参见TairString。
最佳实践
前提条件
注意事项
本文的操作对象为Tair实例中的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的值。 |
选项 |
|
返回值 |
|
示例 | 命令示例:
返回示例:
|
EXGET
类别 | 说明 |
语法 | EXGET key |
时间复杂度 | O(1) |
命令描述 | 获取TairString的value和version。 |
选项 |
|
返回值 |
|
示例 | 命令示例:
返回示例:
|
EXSETVER
类别 | 说明 |
语法 | EXSETVER key version |
时间复杂度 | O(1) |
命令描述 | 设置目标key的version。 |
选项 |
|
返回值 |
|
示例 | 命令示例:
返回示例:
|
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。 |
选项 |
|
返回值 |
|
示例 | 提前执行 命令示例:
返回示例:
|
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。 |
选项 |
|
返回值 |
|
示例 | 提前执行 命令示例:
返回示例:
|
EXCAS
类别 | 说明 |
语法 | EXCAS key newvalue version |
时间复杂度 | O(1) |
命令描述 | 当目标key的version值与指定的version相等时,则更新key的value值;version不相等,则返回旧的value和version。 |
选项 |
|
返回值 |
|
示例 | 提前执行 命令示例:
返回示例:
|
EXCAD
类别 | 说明 |
语法 | EXCAD key version |
时间复杂度 | O(1) |
命令描述 | 当目标key的version值与指定的version相等时,则删除Key。 |
选项 |
|
返回值 |
|
示例 | 提前执行 命令示例:
返回示例:
|