Todos los productos
Search
Centro de documentos

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

Última actualización: Sep 03, 2026

CAS (Compare And Set) y CAD (Compare And Delete) son comandos condicionales atómicos para cadenas nativas de Redis en instancias Tair. CAS actualiza el valor de una clave solo cuando coincide con el valor esperado; CAD elimina una clave únicamente si su valor coincide.

Nota

Estos comandos se aplican exclusivamente a cadenas nativas de Redis. Para realizar operaciones equivalentes en TairStrings, utilice EXCAS y EXCAD.

Requisitos previos

Antes de empezar, asegúrese de que cuenta con lo siguiente:

  • Una instancia Tair basada en DRAM o optimizada para memoria persistente que ejecute la versión menor 1.2.3 o posterior.

  • (Recomendado) Actualizar la instancia a la versión menor más reciente para obtener funciones adicionales y mayor estabilidad. Consulte Actualizar la versión menor de una instancia.

  • (Para instancias en clúster o con división de lectura/escritura) Actualizar los nodos proxy a la versión menor más reciente para garantizar que todos los comandos se ejecuten correctamente.

Descripción general de los comandos

Comando

Sintaxis

Descripción

CAS

`CAS key oldvalue newvalue [EX

PX

EXAT

PXAT time]`

Compara el valor actual de la clave con oldvalue. Si coinciden, actualiza el valor a newvalue.

CAD

CAD key value

Compara el valor actual de la clave con value. Si coinciden, elimina la clave.

Convenciones de sintaxis

Notación

Significado

MAYÚSCULAS

Palabra clave del comando

cursiva

Variable: reemplace por un valor real

[opciones]

Parámetro opcional; los parámetros sin corchetes son obligatorios

`A

B`

Exclusión mutua: especifique solo uno

...

El parámetro se puede repetir

CAS

Compara atómicamente el valor actual de una clave con oldvalue y, si coinciden, lo reemplaza por newvalue.

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

Complejidad temporal O(1)

Parámetros

Parámetro

Descripción

key

Clave destino de tipo cadena

oldvalue

Valor actual esperado de la clave

newvalue

Valor que se establecerá si oldvalue coincide con el valor actual

EX time

Caducidad relativa en segundos. 0 provoca que la clave caduque inmediatamente. Si se omite, se elimina cualquier TTL existente y la clave no caduca.

PX time

Caducidad relativa en milisegundos. 0 provoca que la clave caduque inmediatamente. Si se omite, se elimina cualquier TTL existente y la clave no caduca.

EXAT time

Caducidad absoluta como marca de tiempo Unix en segundos. 0 provoca que la clave caduque inmediatamente. Si se omite, se elimina cualquier TTL existente y la clave no caduca.

PXAT time

Caducidad absoluta como marca de tiempo Unix en milisegundos. 0 provoca que la clave caduque inmediatamente. Si se omite, se elimina cualquier TTL existente y la clave no caduca.

Nota

Si la clave tiene un tiempo de vida (TTL) y ejecuta CAS sin un parámetro de caducidad, se elimina el TTL y la clave no caducará.

Valor de retorno

Valor

Significado

1

El valor coincidió; clave actualizada

0

El valor no coincidió; clave sin cambios

-1

La clave no existe

Error

Otro fallo

Ejemplos

La siguiente sesión demuestra los tres resultados posibles de CAS: falta de coincidencia, coincidencia y caducidad.

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"

Después de que expire el TTL de 10 segundos, la clave desaparece:

127.0.0.1:6379> GET foo
(nil)

CAD

Compara atómicamente el valor actual de una clave con value y, si coinciden, elimina la clave.

Sintaxis: CAD key value

Complejidad temporal O(1)

Parámetros

Parámetro

Descripción

key

Clave destino de tipo cadena

value

Valor actual esperado de la clave

Valor de retorno

Valor

Significado

1

El valor coincidió; clave eliminada

0

El valor no coincidió; clave sin cambios

-1

La clave no existe

Error

Otro fallo

Ejemplos

La siguiente sesión demuestra los tres resultados posibles de CAD: falta de coincidencia, clave no encontrada y eliminación exitosa.

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)

Pasos siguientes