CAS/CAD命令
本章节介绍云数据库Redis企业版性能增强型实例中新增的String增强类命令,包括CAS和CAD。
使用前提
请注意,本章节介绍的命令只有在满足以下条件时才能生效。
- Redis实例为云Redis企业版性能增强型实例。
- 操作对象为性能增强型实例中的Redis String数据。
说明 性能增强型实例中可同时设置Redis String(即Redis原生String)和TairString,CAS和CAD只能对Redis String使用。
命令列表
命令 | 语法 | 说明 |
---|---|---|
CAS | CAS <key> <oldvalue> <newvalue> | 当oldvalue和key的value相等时,修改value的值为newvalue;不相等则无效。
说明 CAS仅适用于操作Redis String类型的数据,如需对TairString做相同的操作,请使用EXCAS。
|
CAD | CAD <key> <value> | 当oldvalue和key的value相等时,删除该key;不相等则无效。
说明 CAD仅适用于操作Redis String类型的数据,如需对TairString做相同的操作,请使用EXCAD。
|
CAS
- 语法
CAS <key> <oldvalue> <newvalue>
- 时间复杂度
O(1)
- 命令描述
CAS(Compare And Set),查看某个key的value是否等于一个指定的值,如果相等,则将value修改为一个新的值;不相等则不修改。
- 参数及选项说明
参数/选项 说明 key String的key,用于指定作为命令调用对象的String。 oldvalue 用于跟key的现有value比较的值。 newvalue 当oldvalue和key的现有value相等时,将value修改为newvalue。 - 返回值
- 成功:1。
- key不存在:-1。
- 失败:0。
- 其它情况返回异常。
- 使用示例
127.0.0.1:6379> SET foo bar OK 127.0.0.1:6379> CAS foo baa bzz (integer) 0 127.0.0.1:6379> GET foo "bar" 127.0.0.1:6379> CAS foo bar bzz (integer) 1 127.0.0.1:6379> GET foo "bzz"
CAD
- 语法
CAD <key> <value>
- 时间复杂度
O(1)
- 命令描述
CAD(Compare And Delete),查看某个key的value是否等于一个指定的值,如果相等,删除该key;不相等则不删除。
- 参数及选项说明
参数/选项 说明 key String的key,用于指定作为命令调用对象的String。 value 用于跟key的现有value比较的值。 - 返回值
- 成功:1。
- key不存在:-1。
- 失败:0。
- 其它情况返回异常。
- 使用示例
127.0.0.1:6379> SET foo bar OK 127.0.0.1:6379> CAD foo bzz (integer) 0 127.0.0.1:6379> CAD not-exists xxx (integer) -1 127.0.0.1:6379> CAD foo bar (integer) 1 127.0.0.1:6379> GET foo (nil)
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。
评论