本文介绍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被删除,若此时执行 |