This topic describes new commands supported by Tair instances that can be used to enhance string functionality. The commands include CAS and CAD commands.
Prerequisites The instance is a Tair DRAM-based or persistent memory-optimized instance whose minor version is 1.2.3 or later.
Note
The latest minor version provides more features and higher stability. We recommend that you update the instance to the latest minor version. For more information, see Update the minor version of an instance . If your instance is a cluster instance or read/write splitting instance, we recommend that you update the proxy nodes in the instance to the latest minor version to ensure that all commands can be run as expected.
Usage notes In this topic, the strings that you want to manage are native Redis strings.
Note
You can manage Redis strings and TairStrings on a Tair instance. However, CAS and CAD commands are applicable only to Redis strings.
Supported commands Table 1. Commands that enhance string functionality
Command
Syntax
Description
CAS
CAS key oldvalue newvalue
Changes the existing value of a specified key if the existing value matches a specified one. Otherwise, the existing value remains unchanged.
Note
This command applies only to Redis strings. To change TairString values, run the EXCAS command.
CAD
CAD key value
Deletes a specified key if the existing value of the key matches a specified one. Otherwise, the key is not deleted.
Note
This command applies only to Redis strings. To delete TairString keys, run the EXCAD command.
Note
The following list describes the conventions for the command syntax used in this topic:
Uppercase keyword
: indicates the command keyword.
Italic text
: indicates variables.
[options]
: indicates that the enclosed parameters are optional. Parameters that are not enclosed by brackets must be specified.
A|B
: indicates that the parameters separated by the vertical bars (|) are mutually exclusive. Only one of the parameters can be specified.
...
: indicates that the parameter preceding this symbol can be repeatedly specified.
CAS Item
Description
Syntax
CAS key oldvalue newvalue
Time complexity
O(1)
Command description
Changes the existing value of a specified key if the existing value matches a specified one. Otherwise, the existing value remains unchanged.
Note
This command applies only to Redis strings. To change TairString values, run the EXCAS command.
Parameter
Key : the key of the Redis string that you want to manage by running the command.
oldvalue : the specified value that you want to compare with the existing value of the key.
newvalue : the new value to which you want to change the existing value of the key if the existing value matches the specified one.
Output
If the operation is successful, a value of 1 is returned.
If the operation fails, a value of 0 is returned.
If the key does not exist, a value of -1 is returned.
Otherwise, an error message is returned.
Example
Run the SET foo bar
command in advance.
Sample command:
Sample output:
If you run the GET foo
command after this command is run, "bzz"
is returned.
CAD Item
Description
Syntax
CAD key value
Time complexity
O(1)
Command description
Deletes a specified key if the existing value of the key matches a specified one. Otherwise, the key is not deleted.
Note
This command applies only to Redis strings. To delete TairString keys, run the EXCAD command.
Parameter
Output
If the operation is successful, a value of 1 is returned.
If the operation fails, a value of 0 is returned.
If the key does not exist, a value of -1 is returned.
Otherwise, an error message is returned.
Example
Run the SET foo bar
command in advance.
Sample command:
Sample output:
After this command is run, the foo key is deleted. Then, if you run the GET foo
command, (nil)
is returned.