Tous les produits
Search
Centre de documentation

Tair (Redis® OSS-Compatible):Redis String command enhancements

Dernière mise à jour :Aug 08, 2026

CAS (Compare And Set) et CAD (Compare And Delete) sont des commandes conditionnelles atomiques destinées aux chaînes Redis natives sur les instances Tair. CAS met à jour la valeur d'une clé uniquement si elle correspond à la valeur attendue ; CAD supprime une clé uniquement si sa valeur correspond.

Remarque

Ces commandes s'appliquent exclusivement aux chaînes Redis natives. Pour les opérations équivalentes sur les TairStrings, utilisez EXCAS et EXCAD.

Prérequis

Avant de commencer, assurez-vous de disposer des éléments suivants :

  • Une instance Tair DRAM-based ou persistent memory-optimized exécutant la version mineure 1.2.3 ou ultérieure

  • (Recommandé) Mettez à jour l'instance vers la dernière version mineure pour bénéficier de fonctionnalités supplémentaires et d'une meilleure stabilité. Consultez la rubrique Update the minor version of an instance.

  • (Pour les instances en cluster ou avec séparation lecture/écriture) Mettez à jour les nœuds proxy vers la dernière version mineure afin que toutes les commandes s'exécutent comme prévu.

Vue d'ensemble des commandes

Commande Syntaxe Description
CAS `CAS key oldvalue newvalue [EX PX

EXAT

PXAT time]`

Compare la valeur actuelle de la clé avec oldvalue. Si elles correspondent, met à jour la valeur avec newvalue.

CAD CAD key value Compare la valeur actuelle de la clé avec value. Si elles correspondent, supprime la clé.

Conventions syntaxiques

Notation Signification
UPPERCASE Mot-clé de la commande
italic Variable — remplacez par une valeur réelle
[options] Paramètre facultatif ; les paramètres sans crochets sont obligatoires
`A B`

Mutuellement exclusif — spécifiez une seule option

... Le paramètre peut être répété

CAS

Compare de manière atomique la valeur actuelle d'une clé avec oldvalue et, si elles correspondent, la remplace par newvalue.

Syntaxe : CAS key oldvalue newvalue [EX|PX|EXAT|PXAT time]

Complexité temporelle O(1)

Paramètres

Paramètre Description
key Clé cible de type chaîne
oldvalue Valeur actuelle attendue de la clé
newvalue Valeur à définir si oldvalue correspond à la valeur actuelle
EX time Expiration relative en secondes. La valeur 0 entraîne l'expiration immédiate de la clé. Si ce paramètre est omis, tout TTL existant est supprimé et la clé n'expire pas.
PX time Expiration relative en millisecondes. La valeur 0 entraîne l'expiration immédiate de la clé. Si ce paramètre est omis, tout TTL existant est supprimé et la clé n'expire pas.
EXAT time Expiration absolue sous forme d'horodatage Unix en secondes. La valeur 0 entraîne l'expiration immédiate de la clé. Si ce paramètre est omis, tout TTL existant est supprimé et la clé n'expire pas.
PXAT time Expiration absolue sous forme d'horodatage Unix en millisecondes. La valeur 0 entraîne l'expiration immédiate de la clé. Si ce paramètre est omis, tout TTL existant est supprimé et la clé n'expire pas.
Remarque

Si la clé possède un délai d'expiration (TTL) et que vous exécutez la commande CAS sans paramètre d'expiration, le TTL est supprimé et la clé n'expirera pas.

Valeur de retour

Valeur Signification
1 La valeur correspondait ; la clé a été mise à jour
0 La valeur ne correspondait pas ; la clé est inchangée
-1 La clé n'existe pas
Erreur Autre échec

Exemples

La session suivante illustre les trois résultats possibles de la commande CAS : non-concordance, concordance et expiration.

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"
127.0.0.1:6379> CAS foo bzz too EX 10
(integer) 1
127.0.0.1:6379> GET foo
"too"

Après l'expiration du TTL de 10 secondes, la clé disparaît :

127.0.0.1:6379> GET foo
(nil)

CAD

Compare de manière atomique la valeur actuelle d'une clé avec value et, si elles correspondent, supprime la clé.

Syntaxe : CAD key value

Complexité temporelle O(1)

Paramètres

Paramètre Description
key Clé cible de type chaîne
value Valeur actuelle attendue de la clé

Valeur de retour

Valeur Signification
1 La valeur correspondait ; la clé a été supprimée
0 La valeur ne correspondait pas ; la clé est inchangée
-1 La clé n'existe pas
Erreur Autre échec

Exemples

La session suivante illustre les trois résultats possibles de la commande CAD : non-concordance, clé introuvable et suppression réussie.

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)

Étapes suivantes