Tüm Ürünler
Search
Belge Merkezi

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

Son Güncelleme:Oct 03, 2026

CAS (Compare And Set) ve CAD (Compare And Delete), Tair örneklerindeki yerel Redis dizeleri için atomik koşullu komutlardır. CAS, bir anahtarın değerini yalnızca beklenen değerle eşleştiğinde günceller; CAD ise bir anahtarı yalnızca değeri eşleştiğinde siler.

Not

Bu komutlar yalnızca yerel Redis dizeleri için geçerlidir. TairStrings üzerindeki eşdeğer işlemler için EXCAS ve EXCAD kullanın.

Önkoşullar

Başlamadan önce aşağıdakilere sahip olduğunuzdan emin olun:

Komutlara Genel Bakış

Komut Sözdizimi Açıklama
CAS CAS key oldvalue newvalue [EX|PX|EXAT|PXAT time] Anahtarın mevcut değerini oldvalue ile karşılaştırır. Eşleşirse değeri newvalue olarak günceller.
CAD CAD key value Anahtarın mevcut değerini value ile karşılaştırır. Eşleşirse anahtarı siler.

Sözdizimi Kuralları

Gösterim Anlamı
UPPERCASE Komut anahtar sözcüğü
italic Değişken — gerçek bir değerle değiştirin
[options] İsteğe bağlı parametre; köşeli parantez olmayan parametreler gereklidir
A|B Birbirini dışlayan — yalnızca birini belirtin
... Parametre tekrarlanabilir

CAS

Bir anahtarın mevcut değerini oldvalue ile atomik olarak karşılaştırır ve eşleşirse bunu newvalue ile değiştirir.

Sözdizimi: CAS key oldvalue newvalue [EX|PX|EXAT|PXAT time]

Zaman karmaşıklığı O(1)

Parametreler

Parametre Açıklama
key Dize türündeki hedef anahtar
oldvalue Anahtarın beklenen mevcut değeri
newvalue oldvalue mevcut değerle eşleşirse ayarlanacak değer
EX time Saniye cinsinden göreli sona erme süresi. 0 anahtarın hemen sona ermesine neden olur. Atlanırsa var olan TTL kaldırılır ve anahtar sona ermez.
PX time Milisaniye cinsinden göreli sona erme süresi. 0 anahtarın hemen sona ermesine neden olur. Atlanırsa var olan TTL kaldırılır ve anahtar sona ermez.
EXAT time Saniye cinsinden Unix zaman damgası olarak mutlak sona erme süresi. 0 anahtarın hemen sona ermesine neden olur. Atlanırsa var olan TTL kaldırılır ve anahtar sona ermez.
PXAT time Milisaniye cinsinden Unix zaman damgası olarak mutlak sona erme süresi. 0 anahtarın hemen sona ermesine neden olur. Atlanırsa var olan TTL kaldırılır ve anahtar sona ermez.
Not

Anahtarın Yaşam Süresi (TTL) varsa ve CAS'yi bir sona erme parametresi olmadan çalıştırırsanız TTL kaldırılır ve anahtar sona ermez.

Dönüş Değeri

Değer Anlamı
1 Değer eşleşti; anahtar güncellendi
0 Değer eşleşmedi; anahtar değişmedi
-1 Anahtar mevcut değil
Hata Diğer başarısızlık

Örnekler

Aşağıdaki oturum, tüm üç CAS sonucunu gösterir: eşleşmeme, eşleşme ve sona erme.

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"

10 saniyelik TTL süresi dolduktan sonra anahtar artık mevcut değildir:

127.0.0.1:6379> GET foo
(nil)

CAD

Bir anahtarın mevcut değerini value ile atomik olarak karşılaştırır ve eşleşirse anahtarı siler.

Sözdizimi: CAD key value

Zaman karmaşıklığı O(1)

Parametreler

Parametre Açıklama
key Dize türündeki hedef anahtar
value Anahtarın beklenen mevcut değeri

Dönüş Değeri

Değer Anlamı
1 Değer eşleşti; anahtar silindi
0 Değer eşleşmedi; anahtar değişmedi
-1 Anahtar mevcut değil
Hata Diğer başarısızlık

Örnekler

Aşağıdaki oturum, tüm üç CAD sonucunu gösterir: eşleşmeme, anahtar bulunamadı ve başarılı silme.

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)

Sonraki Adımlar