全部产品
Search
文档中心

Tair (Redis® OSS-Compatible):exString

更新时间:Nov 10, 2025

TairString (exString) adalah string yang mencakup nomor versi. Topik ini menjelaskan perintah-perintah yang didukung oleh struktur data TairString.

Ikhtisar

String Redis asli menggunakan struktur pasangan kunci-nilai. TairStrings mencakup kunci, nilai, dan nomor versi untuk mendukung skenario seperti kunci optimis. Pada string Redis asli, perintah INCRBY dan INCRBYFLOAT digunakan untuk menambah atau mengurangi nilai string. Pada TairStrings, Anda dapat membatasi rentang output yang dikembalikan oleh perintah-perintah ini. Jika output berada di luar rentang yang ditentukan, pesan kesalahan akan dikembalikan.

Fitur Utama

  • TairString mencakup nomor versi.

  • TairStrings memungkinkan Anda membatasi rentang output perintah INCRBY dan INCRBYFLOAT saat menjalankan perintah-perintah ini untuk menambah nilai.

Modul ini bersifat open-source. Untuk informasi lebih lanjut, lihat GitHub.

Praktik terbaik

Prasyarat

Instans tersebut adalah instans Tair berbasis DRAM atau dioptimalkan memori persisten dengan versi minor 1.2.3 atau lebih baru.

Catatan

Versi minor terbaru menyediakan lebih banyak fitur dan stabilitas yang lebih tinggi. Kami merekomendasikan agar Anda memperbarui instans ke versi minor terbaru. Untuk informasi lebih lanjut, lihat Perbarui versi minor sebuah instans. Jika instans Anda adalah instans kluster atau instans pemisahan baca/tulis, kami merekomendasikan agar Anda memperbarui node proxy di instans ke versi minor terbaru untuk memastikan bahwa semua perintah dapat dijalankan sesuai harapan.

Peringatan

Data TairString yang ingin Anda kelola disimpan pada instans Tair.

Catatan

Anda dapat mengelola string Redis asli dan TairStrings pada instans Tair secara bersamaan. Namun, string Redis asli tidak mendukung perintah yang dijelaskan dalam topik ini.

Perintah yang didukung

Tabel 1. Perintah TairString

Perintah

Sintaksis

Deskripsi

EXSET

EXSET key value [EX|PX|EXAT|PXAT time] [NX|XX] [VER|ABS version] [KEEPTTL]

Membuat kunci TairString jika kunci tersebut tidak ada dan menulis nilai ke kunci tersebut. Jika kunci sudah ada, perintah ini menimpa nilai kunci tersebut.

EXGET

EXGET key

Mengambil nilai dan nomor versi dari kunci TairString.

EXSETVER

EXSETVER key version

Menetapkan nomor versi dari kunci TairString.

EXINCRBY

EXINCRBY key num [EX|PX|EXAT|PXAT time] [NX|XX] [VER|ABS version] [MIN minval] [MAX maxval] [KEEPTTL]

Menambah atau mengurangi nilai dari kunci TairString. Nilai parameter num harus bertipe LONG.

EXINCRBYFLOAT

EXINCRBYFLOAT key num [EX|PX|EXAT|PXAT time] [NX|XX] [VER|ABS version] [MIN minval] [MAX maxval] [KEEPTTL]

Menambah atau mengurangi nilai dari kunci TairString. Nilai parameter num harus bertipe DOUBLE.

EXCAS

EXCAS key newvalue version

Memperbarui nilai dari kunci TairString tertentu jika nomor versi saat ini dari kunci cocok dengan yang ditentukan. Jika nomor-nomor tersebut tidak cocok, perintah mengembalikan nilai asli dan nomor versi dari kunci.

EXCAD

EXCAD key version

Menghapus kunci TairString ketika nomor versi saat ini dari kunci cocok dengan yang ditentukan.

DEL

DEL key [key ...]

Menghapus satu atau lebih kunci TairString.

Catatan

Daftar berikut menggambarkan konvensi untuk sintaksis perintah yang digunakan dalam topik ini:

  • Kata Kunci Huruf Besar: menunjukkan kata kunci perintah.

  • Teks Miring: menunjukkan variabel.

  • [opsi]: menunjukkan bahwa parameter yang diapit bersifat opsional. Parameter yang tidak diapit oleh tanda kurung siku harus ditentukan.

  • A|B: menunjukkan bahwa parameter yang dipisahkan oleh batang vertikal (|) saling eksklusif. Hanya satu dari parameter tersebut yang dapat ditentukan.

  • ...: menunjukkan bahwa parameter sebelum simbol ini dapat ditentukan berulang kali.

EXSET

Item

Deskripsi

Sintaksis

EXSET key value [EX|PX|EXAT|PXAT time] [NX|XX] [VER|ABS version] [KEEPTTL]

Kompleksitas waktu

O(1)

Deskripsi perintah

Membuat kunci TairString jika kunci tersebut tidak ada dan menulis nilai ke kunci tersebut. Jika kunci sudah ada, perintah ini menimpa nilai kunci tersebut.

Parameter

  • key: kunci yang ingin Anda kelola dengan menjalankan perintah ini.

  • value: nilai yang ingin Anda tulis ke kunci.

  • EX: waktu kedaluwarsa relatif dari kunci. Unit: detik. Nilai 0 menunjukkan bahwa kunci langsung kedaluwarsa. Jika parameter ini tidak ditentukan, kunci tidak kedaluwarsa.

  • EXAT: waktu kedaluwarsa absolut dari kunci. Unit: detik. Nilai 0 menunjukkan bahwa kunci langsung kedaluwarsa. Jika parameter ini tidak ditentukan, kunci tidak kedaluwarsa.

  • PX: waktu kedaluwarsa relatif dari kunci. Unit: milidetik. Nilai 0 menunjukkan bahwa kunci langsung kedaluwarsa. Jika parameter ini tidak ditentukan, kunci tidak kedaluwarsa.

  • PXAT: waktu kedaluwarsa absolut dari kunci. Unit: milidetik. Nilai 0 menunjukkan bahwa kunci langsung kedaluwarsa. Jika parameter ini tidak ditentukan, kunci tidak kedaluwarsa.

  • NX: menentukan bahwa nilai hanya ditulis ke kunci jika kunci tersebut tidak ada.

  • XX: menentukan bahwa nilai hanya ditulis ke kunci jika kunci tersebut ada.

  • VER: nomor versi dari kunci.

    • Jika kunci ada, nomor versi yang ditentukan oleh parameter ini dicocokkan dengan nomor versi saat ini.

      • Jika nomor versi cocok, nilai ditulis ke kunci dan nomor versi bertambah 1.

      • Jika nomor versi tidak cocok, pesan kesalahan dikembalikan.

    • Jika kunci tidak ada atau jika nomor versi saat ini dari kunci adalah 0, nomor versi yang ditentukan tidak berlaku. Dalam hal ini, nilai ditulis ke kunci dan nomor versi diatur ke 1.

  • ABS: nomor versi absolut dari kunci. Setelah parameter ini ditentukan, nilai ditulis ke kunci tanpa memandang nomor versi saat ini dari kunci. Kemudian, nomor versi ditimpa dengan nilai ABS.

  • KEEPTTL: mewarisi sisa waktu hidup (TTL) dari kunci. Anda tidak dapat menyetel parameter ini bersama dengan EX, PX, EXAT, atau PXAT.

    Catatan

    Jika Anda tidak menyetel parameter terkait waktu kedaluwarsa kunci, seperti KEEPTTL, EX, atau PX, kunci tidak kedaluwarsa.

Output

  • Jika operasi berhasil, OK dikembalikan.

  • Jika parameter XX ditentukan dan kunci tidak ada, nil dikembalikan.

  • Jika parameter NX ditentukan dan kunci sudah ada, nil dikembalikan.

  • Selain itu, pesan kesalahan dikembalikan.

Contoh

Perintah contoh:

EXSET foo bar EX 10 NX ABS 100

Output contoh:

OK

EXGET

Item

Deskripsi

Sintaksis

EXGET key

Kompleksitas waktu

O(1)

Deskripsi perintah

Mengambil nilai dan nomor versi dari kunci TairString.

Parameter

  • key: kunci yang ingin Anda kelola dengan menjalankan perintah ini.

Output

  • Jika operasi berhasil, nilai dan nomor versi dari kunci dikembalikan.

  • Selain itu, pesan kesalahan dikembalikan.

Contoh

Perintah contoh:

EXGET foo

Output contoh:

1) "bar"
2) (integer) 1

EXSETVER

Item

Deskripsi

Sintaksis

EXSETVER key version

Kompleksitas waktu

O(1)

Deskripsi perintah

Menetapkan nomor versi dari kunci TairString.

Parameter

  • key: kunci yang ingin Anda kelola dengan menjalankan perintah ini.

  • version: nomor versi yang ingin Anda tetapkan.

Output

  • Jika operasi berhasil, nilai 1 dikembalikan.

  • Jika kunci tidak ada, nilai 0 dikembalikan.

  • Selain itu, pesan kesalahan dikembalikan.

Contoh

Perintah contoh:

EXSETVER foo 2

Output contoh:

(integer) 1

EXINCRBY

Item

Deskripsi

Sintaksis

EXINCRBY key num [EX|PX|EXAT|PXAT time] [NX|XX] [VER|ABS version] [MIN minval] [MAX maxval] [KEEPTTL]

Kompleksitas waktu

O(1)

Deskripsi perintah

Menambah atau mengurangi nilai dari kunci TairString. Nilai parameter num harus bertipe LONG.

Parameter

  • key: kunci yang ingin Anda kelola dengan menjalankan perintah ini.

  • num: nilai yang digunakan untuk menambah atau mengurangi kunci. Nilai ini harus berupa bilangan bulat.

  • EX: waktu kedaluwarsa relatif dari kunci. Unit: detik. Nilai 0 menunjukkan bahwa kunci langsung kedaluwarsa. Jika parameter ini tidak ditentukan, kunci tidak kedaluwarsa.

  • EXAT: waktu kedaluwarsa absolut dari kunci. Unit: detik. Nilai 0 menunjukkan bahwa kunci langsung kedaluwarsa. Jika parameter ini tidak ditentukan, kunci tidak kedaluwarsa.

  • PX: waktu kedaluwarsa relatif dari kunci. Unit: milidetik. Nilai 0 menunjukkan bahwa kunci langsung kedaluwarsa. Jika parameter ini tidak ditentukan, kunci tidak kedaluwarsa.

  • PXAT: waktu kedaluwarsa absolut dari kunci. Unit: milidetik. Nilai 0 menunjukkan bahwa kunci langsung kedaluwarsa. Jika parameter ini tidak ditentukan, kunci tidak kedaluwarsa.

  • NX: menentukan bahwa nilai hanya ditulis ke kunci jika kunci tersebut tidak ada.

  • XX: menentukan bahwa nilai hanya ditulis ke kunci jika kunci tersebut ada.

  • VER: nomor versi dari kunci.

    • Jika kunci ada, nomor versi yang ditentukan oleh parameter ini dicocokkan dengan nomor versi saat ini.

      • Jika nomor versi cocok, nilai kunci bertambah sebesar nilai num dan nomor versi bertambah 1.

      • Jika nomor versi tidak cocok, pesan kesalahan dikembalikan.

    • Jika kunci tidak ada atau jika nomor versi saat ini dari kunci adalah 0, nomor versi yang ditentukan tidak berlaku. Dalam hal ini, nilai bertambah sebesar nilai num dan nomor versi diatur ke 1.

  • ABS: nomor versi absolut dari kunci. Setelah parameter ini ditentukan, nilai ditulis ke kunci tanpa memandang nomor versi saat ini dari kunci. Kemudian, nomor versi ditimpa dengan nilai ABS.

  • MIN: nilai minimum dari kunci.

  • MAX: nilai maksimum dari kunci.

  • KEEPTTL: mewarisi sisa TTL dari kunci. Anda tidak dapat menyetel parameter ini bersama dengan EX, PX, EXAT, atau PXAT.

    Catatan

    Jika Anda tidak menyetel parameter terkait waktu kedaluwarsa kunci, seperti KEEPTTL, EX, atau PX, kunci tidak kedaluwarsa.

Output

  • Jika operasi berhasil, nilai terbaru dari kunci dikembalikan.

  • Jika parameter MAX atau MIN ditentukan dan nilai terbaru dari kunci berada di luar rentang nilai ini, pesan kesalahan "(error) ERR increment or decrement would overflow" dikembalikan.

  • Selain itu, pesan kesalahan dikembalikan.

Contoh

Perintah EXSET foo 1 dijalankan terlebih dahulu.

Perintah contoh:

EXINCRBY foo 100 MAX 300

Output contoh:

(integer) 101

EXINCRBYFLOAT

Item

Deskripsi

Sintaksis

EXINCRBYFLOAT key num [EX|PX|EXAT|PXAT time] [NX|XX] [VER|ABS version] [MIN minval] [MAX maxval] [KEEPTTL]

Kompleksitas waktu

O(1)

Deskripsi perintah

Menambah atau mengurangi nilai dari kunci TairString. Nilai parameter num harus bertipe DOUBLE.

Parameter

  • key: kunci yang ingin Anda kelola dengan menjalankan perintah ini.

  • num: nilai yang digunakan untuk menambah atau mengurangi kunci. Nilai ini harus berupa bilangan titik mengambang.

  • EX: waktu kedaluwarsa relatif dari kunci. Unit: detik. Nilai 0 menunjukkan bahwa kunci langsung kedaluwarsa. Jika parameter ini tidak ditentukan, kunci tidak kedaluwarsa.

  • EXAT: waktu kedaluwarsa absolut dari kunci. Unit: detik. Nilai 0 menunjukkan bahwa kunci langsung kedaluwarsa. Jika parameter ini tidak ditentukan, kunci tidak kedaluwarsa.

  • PX: waktu kedaluwarsa relatif dari kunci. Unit: milidetik. Nilai 0 menunjukkan bahwa kunci langsung kedaluwarsa. Jika parameter ini tidak ditentukan, kunci tidak kedaluwarsa.

  • PXAT: waktu kedaluwarsa absolut dari kunci. Unit: milidetik. Nilai 0 menunjukkan bahwa kunci langsung kedaluwarsa. Jika parameter ini tidak ditentukan, kunci tidak kedaluwarsa.

  • NX: menentukan bahwa nilai hanya ditulis ke kunci jika kunci tersebut tidak ada.

  • XX: menentukan bahwa nilai hanya ditulis ke kunci jika kunci tersebut ada.

  • VER: nomor versi dari kunci.

    • Jika kunci ada, nomor versi yang ditentukan oleh parameter ini dicocokkan dengan nomor versi saat ini.

      • Jika nomor versi cocok, nilai kunci bertambah sebesar nilai num dan nomor versi bertambah 1.

      • Jika nomor versi tidak cocok, pesan kesalahan dikembalikan.

    • Jika kunci tidak ada atau jika nomor versi saat ini dari kunci adalah 0, nomor versi yang ditentukan tidak berlaku. Dalam hal ini, nilai bertambah sebesar nilai num dan nomor versi diatur ke 1.

  • ABS: nomor versi absolut dari kunci. Setelah parameter ini ditentukan, nilai ditulis ke kunci tanpa memandang nomor versi saat ini dari kunci. Kemudian, nomor versi ditimpa dengan nilai ABS.

  • MIN: nilai minimum dari kunci.

  • MAX: nilai maksimum dari kunci.

  • KEEPTTL: mewarisi sisa TTL dari kunci. Anda tidak dapat menyetel parameter ini bersama dengan EX, PX, EXAT, atau PXAT.

    Catatan

    Jika Anda tidak menyetel parameter terkait waktu kedaluwarsa kunci, seperti KEEPTTL, EX, atau PX, kunci tidak kedaluwarsa.

Output

  • Jika operasi berhasil, nilai terbaru dari kunci dikembalikan.

  • Jika parameter MAX atau MIN ditentukan dan nilai terbaru dari kunci berada di luar rentang nilai ini, pesan kesalahan "(error) ERR increment or decrement would overflow" dikembalikan.

  • Selain itu, pesan kesalahan dikembalikan.

Contoh

Perintah EXSET foo 1 dijalankan terlebih dahulu.

Perintah contoh:

EXINCRBYFLOAT foo 10.123

Output contoh:

(integer) 11.123

EXCAS

Item

Deskripsi

Sintaksis

EXCAS key newvalue version

Kompleksitas waktu

O(1)

Deskripsi perintah

Memperbarui nilai dari kunci TairString tertentu jika nomor versi saat ini dari kunci cocok dengan yang ditentukan. Jika nomor-nomor tersebut tidak cocok, perintah mengembalikan nilai asli dan nomor versi dari kunci.

Parameter

  • key: kunci yang ingin Anda kelola dengan menjalankan perintah ini.

  • newvalue: nilai baru yang ingin Anda gunakan untuk menimpa nilai saat ini dari kunci jika nomor versi saat ini dari kunci cocok dengan nomor versi yang ditentukan.

  • version: nomor versi yang ingin Anda bandingkan dengan nomor versi saat ini dari kunci.

Output

  • Jika operasi berhasil, pesan "["OK", "",latest version]" dikembalikan. Karakter "" di tengah pesan menunjukkan string kosong yang tidak memiliki makna.

  • Jika operasi gagal, pesan kesalahan berikut dikembalikan: ["ERR update version is stale", value, version]. value menunjukkan nilai saat ini dari kunci. version menunjukkan nomor versi saat ini dari kunci.

  • Jika kunci tidak ada, nilai -1 dikembalikan.

  • Selain itu, pesan kesalahan dikembalikan.

Contoh

Perintah EXSET foo bar dijalankan terlebih dahulu.

Perintah contoh:

EXCAS foo bzz 1

Output contoh:

1) OK
2)
3) (integer) 2

EXCAD

Item

Deskripsi

Sintaksis

EXCAD key version

Kompleksitas waktu

O(1)

Deskripsi perintah

Menghapus kunci TairString ketika nomor versi saat ini dari kunci cocok dengan yang ditentukan.

Parameter

  • key: kunci yang ingin Anda kelola dengan menjalankan perintah ini.

  • version: nomor versi yang ingin Anda bandingkan dengan nomor versi saat ini dari kunci.

Output

  • Jika operasi berhasil, nilai 1 dikembalikan.

  • Jika operasi gagal, nilai 0 dikembalikan.

  • Jika kunci tidak ada, nilai -1 dikembalikan.

  • Selain itu, pesan kesalahan dikembalikan.

Contoh

Perintah EXSET foo bar dijalankan terlebih dahulu.

Perintah contoh:

EXCAD foo 1

Output contoh:

(integer) 1