全部产品
Search
文档中心

Tair (Redis® OSS-Compatible):exHash

更新时间:Nov 10, 2025

TairHash (juga dikenal sebagai exHash) adalah struktur data hash yang ditingkatkan, memungkinkan Anda menentukan waktu kedaluwarsa dan nomor versi untuk bidang. TairHash fleksibel dan menyederhanakan pengembangan bisnis dalam berbagai skenario.

Pengenalan TairHash

TairHash dan hash Redis asli mendukung berbagai perintah serta memberikan performa tinggi dalam pemrosesan data. Namun, hash Redis asli hanya memungkinkan penentuan waktu kedaluwarsa untuk kunci. TairHash memungkinkan Anda menentukan waktu kedaluwarsa baik untuk kunci maupun bidang, serta menetapkan versi untuk bidang. Fitur-fitur ini menyederhanakan pengembangan bisnis dalam sebagian besar skenario. TairHash menggunakan algoritma kedaluwarsa aktif untuk memeriksa waktu kedaluwarsa bidang dan menghapus bidang yang telah kedaluwarsa tanpa meningkatkan waktu tanggapan database.

Fitur Utama

  • TairHash memungkinkan Anda menentukan waktu kedaluwarsa dan nomor versi untuk bidang.

  • TairHash mendukung kebijakan kedaluwarsa yang efisien dan fleksibel untuk bidang, baik aktif maupun pasif.

  • Sintaksisnya mirip dengan tipe data Hash Redis asli.

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

Persiapan

Instans termasuk dalam salah satu tipe seri Tair berikut:

Catatan

Versi minor terbaru menyediakan lebih banyak fitur dan stabilitas yang lebih tinggi. Kami menyarankan Anda untuk memperbarui instans Anda ke versi minor terbaru. Untuk informasi lebih lanjut, lihat Perbarui Versi Minor. Jika instans Anda adalah kluster atau instans dengan pemisahan baca/tulis, kami menyarankan Anda untuk memperbarui node proxy ke versi minor terbaru agar semua perintah berjalan sesuai harapan.

Langkah-langkah Pencegahan

Data TairHash yang ingin Anda kelola disimpan di Tair Instans.

Daftar Perintah

Tabel 1. Perintah TairHash

Perintah

Sintaksis

Deskripsi

EXHSET

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

Menambahkan bidang ke kunci TairHash. Jika kunci tidak ada, kunci akan dibuat. Jika bidang sudah ada, perintah ini menimpa nilai saat ini dari bidang tersebut.

EXHGET

EXHGET key field

Mengambil nilai dari bidang dalam kunci TairHash. Jika kunci atau bidang tidak ada, nil dikembalikan.

EXHMSET

EXHMSET key field value [field value ...]

Menambahkan beberapa bidang ke kunci TairHash. Jika kunci tidak ada, kunci akan dibuat. Jika bidang-bidang ini sudah ada di kunci, perintah ini menimpa nilai-nilai dari bidang-bidang tersebut.

EXHPEXPIREAT

EXHPEXPIREAT key field milliseconds-timestamp [VER | ABS version]

Menentukan waktu kedaluwarsa absolut dari sebuah bidang dalam kunci TairHash. Satuan: milidetik.

EXHPEXPIRE

EXHPEXPIRE key field milliseconds [VER | ABS version]

Menentukan waktu kedaluwarsa relatif untuk sebuah bidang dalam kunci TairHash. Satuan: milidetik.

EXHEXPIREAT

EXHEXPIREAT key field timestamp [VER | ABS version]

Menentukan waktu kedaluwarsa absolut dari sebuah bidang dalam kunci TairHash. Satuan: detik.

EXHEXPIRE

EXHEXPIRE key field seconds [VER | ABS version]

Menentukan waktu kedaluwarsa relatif dari sebuah bidang dalam kunci TairHash. Satuan: detik.

EXHPTTL

EXHPTTL key field

Mengecek sisa waktu kedaluwarsa dari sebuah bidang dalam kunci TairHash. Satuan: milidetik.

EXHTTL

EXHTTL key field

Mengecek TTL dari sebuah bidang dalam kunci TairHash. Satuan: detik.

EXHVER

EXHVER key field

Mengecek nomor versi saat ini dari sebuah bidang dalam kunci TairHash.

EXHSETVER

EXHSETVER key field version

Menentukan nomor versi dari sebuah bidang dalam kunci TairHash.

EXHINCRBY

EXHINCRBY key field num [EX time] [EXAT time] [PX time] [PXAT time] [VER | ABS version] [MIN minval] [MAX maxval] [KEEPTTL]

Menambahkan nilai dari sebuah bidang dalam kunci TairHash sebesar nilai num. Nilai num harus berupa bilangan bulat. Jika kunci tidak ada, kunci akan dibuat. Jika bidang tidak ada, perintah ini menambahkan bidang dan mengatur nilai bidang menjadi 0 sebelum menambahkan nilai bidang.

Catatan

Untuk menambahkan bidang yang tidak kedaluwarsa, Anda dapat menjalankan perintah ini tanpa menentukan waktu kedaluwarsa.

EXHINCRBYFLOAT

EXHINCRBYFLOAT key field num [EX time] [EXAT time] [PX time] [PXAT time] [VER | ABS version] [MIN minval] [MAX maxval] [KEEPTTL]

Menambahkan nilai dari sebuah bidang dalam kunci TairHash sebesar nilai num. Nilai num harus berupa bilangan titik mengambang. Jika kunci tidak ada, kunci akan dibuat. Jika bidang tidak ada, perintah ini menambahkan bidang dan mengatur nilai bidang menjadi 0 sebelum membuat kunci.

Catatan

Untuk menambahkan bidang yang tidak kedaluwarsa, Anda dapat menjalankan perintah ini tanpa menentukan waktu kedaluwarsa.

EXHGETWITHVER

EXHGETWITHVER key field

Mengambil nilai dan nomor versi dari sebuah bidang dalam kunci TairHash. Jika kunci atau bidang tidak ada, nil dikembalikan.

EXHMGET

EXHMGET key field [field ...]

Mengambil beberapa nilai bidang dari kunci TairHash dalam setiap kueri. Jika kunci tidak ada atau jika bidang-bidang tidak ada, nil dikembalikan.

EXHMGETWITHVER

EXHMGETWITHVER key field [field ...]

Mengambil nilai dan nomor versi dari beberapa bidang dalam kunci TairHash dalam setiap kueri.

EXHLEN

EXHLEN key [NOEXP]

Mengambil jumlah bidang dalam kunci TairHash. Output mungkin mencakup jumlah bidang yang telah kedaluwarsa tetapi belum dihapus karena perintah ini tidak memicu penghapusan pasif atau menyaring bidang yang telah kedaluwarsa. Jika Anda ingin mengambil hanya jumlah bidang yang belum kedaluwarsa, Anda dapat menyetel parameter NOEXP dalam perintah Anda.

EXHEXISTS

EXHEXISTS key field

Memeriksa apakah sebuah bidang ada dalam kunci TairHash.

EXHSTRLEN

EXHSTRLEN key field

Mengambil panjang nilai bidang dari kunci TairHash.

EXHKEYS

EXHKEYS key

Mengambil semua bidang dari kunci TairHash.

EXHVALS

EXHVALS key

Mengambil semua nilai bidang dari kunci TairHash.

EXHGETALL

EXHGETALL key

Mengambil semua bidang dan nilai-nilainya dari kunci TairHash.

EXHSCAN

EXHSCAN key op subkey [MATCH pattern] [COUNT count]

Memindai kunci TairHash.

Catatan

Perintah ini hanya didukung untuk instans berbasis DRAM.

EXHSCANUNORDER

EXHSCANUNORDER key cursor [MATCH pattern] [COUNT count]

Memindai kunci TairHash.

Catatan

Perintah ini hanya didukung untuk instans yang dioptimalkan untuk memori persisten.

EXHDEL

EXHDEL key field [field ...]

Menghapus bidang dari kunci TairHash. Jika kunci atau bidang tidak ada, nilai 0 dikembalikan. Jika bidang dihapus, nilai 1 dikembalikan.

DEL

DEL <key> [key ...]

Menghapus satu atau lebih kunci TairHash.

Catatan

Daftar berikut menjelaskan 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 terlampir bersifat opsional. Parameter yang tidak dilingkupi tanda kurung harus ditentukan.

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

  • ...: Menunjukkan bahwa parameter sebelum simbol ini dapat ditentukan secara berulang.

EXHSET

Item

Deskripsi

Sintaksis

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

Kompleksitas waktu

O(1)

Deskripsi perintah

Menambahkan bidang ke kunci TairHash. Jika kunci tidak ada, kunci akan dibuat. Jika bidang sudah ada, perintah ini menimpa nilai saat ini dari bidang tersebut.

Catatan
  • Untuk menambahkan bidang yang tidak kedaluwarsa, Anda dapat menjalankan perintah ini untuk menambahkan bidang tanpa menentukan waktu kedaluwarsa.

  • Anda juga dapat menjalankan perintah EXPIRE atau EXPIREAT untuk menentukan waktu kedaluwarsa untuk sebuah kunci.

Parameter

  • Key: kunci yang menentukan bagian data TairHash yang ingin Anda kelola dengan menjalankan perintah ini.

  • field: elemen dari kunci. Sebuah kunci dapat berisi beberapa bidang.

  • value: nilai dari bidang. Sebuah bidang hanya dapat memiliki satu nilai tunggal.

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

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

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

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

  • NX: menentukan bahwa nilai hanya ditulis jika bidang tidak ada.

  • XX: menentukan bahwa nilai hanya ditulis jika bidang sudah ada.

  • VER: nomor versi dari bidang.

    • Jika bidang ada, nomor versi yang ditentukan oleh parameter ini dicocokkan dengan nomor versi saat ini:

      • Jika nomor versi cocok, sistem melanjutkan menjalankan perintah dan menambah nomor versi sebesar 1.

      • Jika nomor versi tidak cocok, pesan kesalahan dikembalikan.

    • Jika bidang tidak ada atau nomor versi saat ini dari bidang adalah 0, parameter ini diabaikan dan perintah ini terus berjalan. Setelah operasi berhasil, nomor versi diatur menjadi 1.

  • ABS: nomor versi absolut yang dapat diberikan kepada bidang ketika bidang ditambahkan, terlepas dari apakah bidang sudah ada.

  • KEEPTTL: mempertahankan waktu hidup (TTL) saat ini dari bidang jika tidak ada parameter EX, EXAT, PX, atau PXAT yang ditentukan.

    Catatan

    Secara default, jika parameter KEEPTTL tidak ditentukan, perintah EXHSET menghapus TTL saat ini dari bidang.

Keluaran

  • Jika bidang dibuat dan nilai diatur untuk bidang tersebut, nilai 1 dikembalikan.

  • Bidang sudah ada, dan nilainya yang lama telah berhasil ditimpa dengan 0.

  • Jika parameter XX ditentukan dan bidang tidak ada, nilai -1 dikembalikan.

  • Jika parameter NX ditentukan dan bidang sudah ada, nilai -1 dikembalikan.

  • Jika parameter VER ditentukan dan nilai VER tidak cocok dengan nomor versi saat ini, pesan "ERR update version is stale" dikembalikan.

  • Jika tidak, pesan kesalahan dikembalikan.

Contoh

Perintah contoh:

EXHSET myhash field1 val EX 10

Keluaran contoh:

(integer) 1

EXHGET

Item

Description

Sintaks

EXHGET key field

Kompleksitas waktu

O(1)

Deskripsi perintah

Mengambil nilai dari sebuah bidang dalam kunci TairHash. Jika kunci atau bidang tidak ada, nil akan dikembalikan.

Parameter

  • Key: kunci yang menentukan bagian data TairHash yang ingin Anda kelola dengan menjalankan perintah ini.

  • field: elemen dari kunci. Sebuah kunci dapat berisi beberapa bidang.

Keluaran

  • Jika bidang ada dan operasi berhasil, nilai dari bidang tersebut akan dikembalikan.

  • Jika kunci atau bidang tidak ada, nil akan dikembalikan.

  • Jika tidak, pesan kesalahan akan dikembalikan.

Contoh

Jalankan perintah EXHSET myhash field1 val terlebih dahulu.

Perintah contoh:

EXHGET myhash field1

Keluaran contoh:

"val"

EXHMSET

Item

Description

Sintaksis

EXHMSET key field value [field value ...]

Kompleksitas waktu

O(N)

Deskripsi perintah

Menambahkan beberapa bidang ke kunci TairHash. Jika kunci tidak ada, kunci akan dibuat. Jika bidang-bidang ini sudah ada di dalam kunci, perintah ini akan menimpa nilai-nilai dari bidang tersebut.

Catatan

Setelah Anda membuat kunci, Anda dapat menjalankan perintah EXHPEXPIREAT, EXHPEXPIRE, EXHEXPIREAT, atau EXHEXPIRE untuk menentukan waktu kedaluwarsa bagi bidang-bidang yang ditambahkan ke kunci. Anda juga dapat menjalankan perintah EXPIRE atau EXPIREAT untuk menentukan waktu kedaluwarsa bagi kunci.

Parameter

  • Key: kunci yang menentukan potongan data TairHash yang ingin Anda kelola dengan menjalankan perintah ini.

  • field: elemen dari kunci. Sebuah kunci dapat berisi beberapa bidang.

  • value: nilai dari bidang. Sebuah bidang hanya dapat memiliki satu nilai tunggal.

Keluaran

  • Jika operasi berhasil, OK dikembalikan.

  • Jika tidak, pesan kesalahan dikembalikan.

Contoh

Perintah contoh:

EXHMSET myhash field1 val1 field2 val2

Keluaran contoh:

OK

EXHPEXPIREAT

Item

Description

Sintaksis

EXHPEXPIREAT key field milliseconds-timestamp [VER | ABS version]

Kompleksitas waktu

O(1)

Deskripsi perintah

Menentukan waktu kedaluwarsa absolut dari sebuah bidang dalam kunci TairHash. Satuan: milidetik.

Parameter

  • Key: kunci yang menentukan potongan data TairHash yang ingin Anda kelola dengan menjalankan perintah ini.

  • field: elemen dari kunci. Sebuah kunci dapat berisi beberapa bidang.

  • milliseconds-timestamp: Stempel waktu UNIX yang akurat hingga milidetik.

  • VER: nomor versi dari bidang tersebut.

    • Jika bidang tersebut ada, nomor versi yang ditentukan oleh parameter ini akan dicocokkan dengan nomor versi saat ini:

      • Jika nomor versi cocok, sistem akan melanjutkan menjalankan perintah dan menambah nomor versi sebesar 1.

      • Jika nomor versi tidak cocok, pesan kesalahan akan dikembalikan.

    • Jika bidang tidak ada atau nomor versi saat ini dari bidang adalah 0, parameter ini diabaikan dan perintah ini terus berjalan. Setelah operasi berhasil, nomor versi diatur menjadi 1.

  • ABS: nomor versi absolut yang dapat diberikan kepada bidang ketika bidang ditambahkan, terlepas dari apakah bidang sudah ada.

Keluaran

  • Jika bidang ada dan nilai diatur untuk bidang tersebut, nilai 1 dikembalikan.

  • Jika bidang tidak ada, nilai 0 dikembalikan.

  • Selain itu, pesan kesalahan dikembalikan.

Contoh

Perintah contoh:

EXHPEXPIREAT myhash field1 1293840000

Keluaran contoh:

(integer) 1

EXHPEXPIRE

Item

Description

Sintaksis

EXHPEXPIRE key field milliseconds [VER | ABS version]

Kompleksitas waktu

O(1)

Deskripsi perintah

Menentukan waktu kedaluwarsa relatif untuk sebuah bidang dalam kunci TairHash. Satuan: milidetik.

Opsi

  • Key: kunci yang menentukan potongan data TairHash yang ingin Anda kelola dengan menjalankan perintah ini.

  • field: elemen dari kunci. Sebuah kunci dapat berisi beberapa bidang.

  • milliseconds: waktu kedaluwarsa relatif. Satuan: milidetik.

  • VER: nomor versi dari bidang tersebut.

    • Jika bidang tersebut ada, nomor versi yang ditentukan oleh parameter ini dicocokkan dengan nomor versi saat ini:

      • Jika nomor versi cocok, sistem melanjutkan menjalankan perintah dan menambah nomor versi sebesar 1.

      • Jika nomor versi tidak cocok, pesan kesalahan dikembalikan.

    • Jika bidang tersebut tidak ada atau nomor versi saat ini dari bidang tersebut adalah 0, parameter ini diabaikan dan perintah ini terus berjalan. Setelah operasi berhasil, nomor versi diatur menjadi 1.

  • ABS: nomor versi absolut yang dapat diberikan ke bidang ketika bidang ditambahkan, terlepas dari apakah bidang tersebut sudah ada.

Keluaran

  • Jika bidang tersebut ada dan nilai telah ditetapkan untuk bidang tersebut, nilai 1 dikembalikan.

  • Jika bidang tersebut tidak ada, nilai 0 dikembalikan.

  • Selain itu, pesan kesalahan dikembalikan.

Contoh

Perintah contoh:

EXHPEXPIRE myhash field1 1000

Keluaran contoh:

(integer) 1

EXHEXPIREAT

Item

Description

Sintaksis

EXHEXPIREAT key field timestamp [VER | ABS version]

Kompleksitas waktu

O(1)

Deskripsi perintah

Menentukan waktu kedaluwarsa absolut dari sebuah bidang dalam kunci TairHash. Satuan: detik.

Opsi

  • Key: kunci yang menentukan data TairHash yang ingin Anda kelola dengan menjalankan perintah ini.

  • field: elemen dari kunci. Sebuah kunci dapat berisi beberapa bidang.

  • timestamp: Stempel waktu UNIX yang akurat hingga detik.

  • VER: nomor versi dari bidang tersebut.

    • Jika bidang tersebut ada, nomor versi yang ditentukan oleh parameter ini dicocokkan dengan nomor versi saat ini:

      • Jika nomor versi cocok, sistem akan melanjutkan menjalankan perintah dan menambah nomor versi sebesar 1.

      • Jika nomor versi tidak cocok, pesan kesalahan akan dikembalikan.

    • Jika bidang tersebut tidak ada atau nomor versi saat ini dari bidang tersebut adalah 0, parameter ini diabaikan dan perintah ini terus berjalan. Setelah operasi berhasil, nomor versi diatur menjadi 1.

  • ABS: nomor versi absolut yang dapat diberikan kepada sebuah bidang ketika bidang tersebut ditambahkan, terlepas dari apakah bidang tersebut sudah ada.

Keluaran

  • Jika bidang tersebut ada dan nilai telah ditetapkan untuk bidang tersebut, nilai 1 dikembalikan.

  • Jika bidang tersebut tidak ada, nilai 0 dikembalikan.

  • Selain itu, pesan kesalahan dikembalikan.

Contoh

Perintah contoh:

EXHEXPIREAT myhash field1 1293840000

Keluaran contoh:

(integer) 1

EXHEXPIRE

Kategori

Deskripsi

Sintaksis

EXHEXPIRE key field seconds [VER | ABS version]

Kompleksitas waktu

O(1)

Deskripsi perintah

Menentukan waktu kedaluwarsa relatif dari sebuah bidang dalam kunci TairHash. Satuan: detik.

Opsi

  • Key: kunci yang menentukan data TairHash yang ingin Anda kelola dengan menjalankan perintah ini.

  • field: elemen dari kunci. Sebuah kunci dapat berisi beberapa bidang.

  • seconds: waktu kedaluwarsa relatif. Satuan: detik.

  • VER: nomor versi dari bidang tersebut.

    • Jika bidang tersebut ada, nomor versi yang ditentukan oleh parameter ini akan dicocokkan dengan nomor versi saat ini:

      • Jika nomor versi cocok, sistem akan melanjutkan menjalankan perintah dan menambah nomor versi sebesar 1.

      • Jika nomor versi tidak cocok, pesan kesalahan akan dikembalikan.

    • Jika bidang tidak ada atau nomor versi saat ini dari bidang tersebut adalah 0, parameter ini diabaikan dan perintah ini terus berjalan. Setelah operasi berhasil, nomor versi diatur menjadi 1.

  • ABS: nomor versi absolut yang dapat diberikan kepada bidang ketika bidang tersebut ditambahkan, terlepas dari apakah bidang tersebut sudah ada.

Keluaran

  • Jika bidang ada dan nilai telah ditetapkan untuk bidang tersebut, nilai 1 dikembalikan.

  • Jika bidang tidak ada, nilai 0 dikembalikan.

  • Selain itu, pesan kesalahan dikembalikan.

Contoh

Perintah contoh:

EXHEXPIRE myhash field1 100

Keluaran contoh:

(integer) 1

EXHPTTL

Item

Description

Sintaksis

EXHPTTL key field

Kompleksitas waktu

O(1)

Deskripsi perintah

Memeriksa sisa waktu kedaluwarsa dari sebuah bidang dalam kunci TairHash. Satuan: milidetik.

Parameter

  • Key: kunci yang menentukan potongan data TairHash yang ingin Anda kelola dengan menjalankan perintah ini.

  • field: elemen dari kunci. Sebuah kunci dapat berisi beberapa bidang.

Keluaran

  • Jika bidang ada dan bidang tersebut tidak memiliki TTL yang dikonfigurasi, nilai -1 akan dikembalikan.

  • Jika kunci tidak ada, nilai -2 akan dikembalikan.

  • Jika bidang tidak ada, nilai -3 akan dikembalikan.

  • Jika bidang ada dan bidang tersebut memiliki TTL yang dikonfigurasi, TTL akan dikembalikan. Satuan: milidetik.

  • Jika tidak, pesan kesalahan akan dikembalikan.

Contoh

Jalankan perintah EXHSET myhash field1 val1 EX 100 terlebih dahulu.

Perintah contoh:

EXHPTTL myhash field1

Keluaran contoh:

(integer) 97213

EXHTTL

Item

Description

Sintaksis

EXHTTL key field

Kompleksitas waktu

O(1)

Deskripsi perintah

Memeriksa TTL dari sebuah bidang dalam kunci TairHash. Satuan: detik.

Parameter

  • Key: kunci yang menentukan data TairHash yang ingin Anda kelola dengan menjalankan perintah ini.

  • field: elemen dari kunci. Sebuah kunci dapat berisi beberapa bidang.

Keluaran

  • Jika kunci tidak ada, nilai -2 dikembalikan.

  • Jika bidang tidak ada, nilai -3 dikembalikan.

  • Jika bidang ada dan bidang tersebut tidak memiliki konfigurasi TTL, nilai -1 dikembalikan.

  • Jika bidang ada dan bidang tersebut memiliki konfigurasi TTL, TTL akan dikembalikan. Satuan: detik.

  • Selain itu, pesan kesalahan akan dikembalikan.

Contoh

Jalankan perintah EXHSET myhash field1 val1 EX 100 terlebih dahulu.

Perintah contoh:

EXHTTL myhash field1

Keluaran contoh:

(integer) 85

EXHVER

Item

Description

Sintaks

EXHVER key field

Kompleksitas waktu

O(1)

Deskripsi perintah

Mengecek nomor versi saat ini dari sebuah bidang dalam kunci TairHash.

Opsi

  • Key: kunci yang menentukan potongan data TairHash yang ingin Anda kelola dengan menjalankan perintah ini.

  • field: elemen dari kunci. Sebuah kunci dapat berisi beberapa bidang.

Keluaran

  • Jika kunci tidak ada, nilai -1 dikembalikan.

  • Jika bidang tidak ada, nilai -2 dikembalikan.

  • Jika operasi berhasil, nomor versi bidang dikembalikan.

  • Jika tidak, pesan kesalahan akan dikembalikan.

Contoh

Perintah contoh:

EXHVER myhash field1

Keluaran contoh:

(integer) 1

EXHSETVER

Item

Description

Sintaksis

EXHSETVER key field version

Kompleksitas waktu

O(1)

Deskripsi perintah

Menentukan nomor versi dari sebuah bidang dalam kunci TairHash.

Parameter

  • Key: kunci yang menentukan potongan data TairHash yang ingin Anda kelola dengan menjalankan perintah ini.

  • field: elemen dari kunci. Sebuah kunci dapat berisi beberapa bidang.

Keluaran

  • Jika kunci atau bidang tidak ada, nilai 0 dikembalikan.

  • Pengaturan berhasil: 1.

  • Jika tidak, pesan kesalahan akan dikembalikan.

Contoh

Perintah contoh:

EXHSETVER myhash field1 3

Keluaran contoh:

(integer) 1

EXHINCRBY

Item

Description

Sintaksis

EXHINCRBY key field num [EX time] [EXAT time] [PX time] [PXAT time] [VER | ABS version] [MIN minval] [MAX maxval] [KEEPTTL]

Kompleksitas waktu

O(1)

Deskripsi perintah

Meningkatkan nilai dari sebuah bidang dalam kunci TairHash sebesar nilai num. Nilai num harus berupa bilangan bulat. Jika kunci tidak ada, kunci akan dibuat. Jika bidang tidak ada, perintah ini menambahkan bidang dan mengatur nilai bidang menjadi 0 sebelum meningkatkan nilainya.

Catatan

Untuk menambahkan bidang yang tidak kedaluwarsa, Anda dapat menjalankan perintah ini untuk menambahkan bidang tanpa menentukan waktu kedaluwarsa.

Parameter

  • Key: kunci yang menentukan potongan data TairHash yang ingin Anda kelola dengan menjalankan perintah ini.

  • field: elemen dari kunci. Sebuah kunci dapat berisi beberapa bidang.

  • num: bilangan bulat yang digunakan untuk meningkatkan nilai bidang.

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

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

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

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

  • VER: nomor versi dari bidang.

    • Jika bidang ada, nomor versi yang ditentukan oleh parameter ini dicocokkan dengan nomor versi saat ini:

      • Jika nomor versi cocok, sistem melanjutkan menjalankan perintah dan menambah nomor versi sebesar 1.

      • Jika nomor versi tidak cocok, pesan kesalahan dikembalikan.

    • Jika bidang tidak ada atau nomor versi saat ini dari bidang adalah 0, parameter ini diabaikan dan perintah ini terus berjalan. Setelah operasi berhasil, nomor versi diatur menjadi 1.

  • ABS: nomor versi absolut yang dapat diberikan kepada bidang ketika bidang ditambahkan, terlepas dari apakah bidang sudah ada.

  • MIN: nilai minimum dari bidang. Jika nilai bidang kurang dari batas bawah ini, pesan kesalahan dikembalikan.

  • MAX: nilai maksimum dari bidang. Jika nilai bidang lebih besar dari batas atas ini, pesan kesalahan dikembalikan.

  • KEEPTTL: mempertahankan TTL saat ini dari bidang jika tidak ada satu pun parameter EX, EXAT, PX, atau PXAT yang ditentukan.

Output

  • Jika operasi berhasil, nilai yang ditingkatkan oleh nilai num dikembalikan.

  • Jika tidak, pesan kesalahan dikembalikan.

Contoh

Jalankan perintah EXHMSET myhash field1 10 terlebih dahulu.

Perintah contoh:

EXHINCRBY myhash field1 100

Output contoh:

(integer) 110

EXHINCRBYFLOAT

Item

Description

Sintaksis

EXHINCRBYFLOAT key field num [EX time] [EXAT time] [PX time] [PXAT time] [VER | ABS version] [MIN minval] [MAX maxval] [KEEPTTL]

Kompleksitas waktu

O(1)

Deskripsi perintah

Menambahkan nilai suatu bidang dengan nilai num pada kunci TairHash. Nilai num harus berupa bilangan titik mengambang. Jika kunci tidak ada, kunci akan dibuat. Jika bidang tidak ada, perintah ini menambahkan bidang dan menetapkan nilai bidang ke 0 sebelum perintah membuat kunci.

Catatan

Untuk menambahkan bidang yang tidak kedaluwarsa, Anda dapat menjalankan perintah ini untuk menambahkan bidang tanpa menentukan waktu kedaluwarsa.

Parameter

  • Key: kunci yang menentukan data TairHash yang ingin Anda kelola dengan menjalankan perintah ini.

  • field: elemen dari kunci. Sebuah kunci dapat berisi beberapa bidang.

  • num: bilangan titik mengambang yang digunakan untuk menambah nilai bidang.

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

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

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

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

  • VER: nomor versi dari bidang.

    • Jika bidang ada, nomor versi yang ditentukan oleh parameter ini dicocokkan dengan nomor versi saat ini:

      • Jika nomor versi cocok, sistem melanjutkan menjalankan perintah dan menambah nomor versi sebesar 1.

      • Jika nomor versi tidak cocok, pesan kesalahan dikembalikan.

    • Jika bidang tidak ada atau nomor versi saat ini dari bidang adalah 0, parameter ini diabaikan dan perintah ini terus berjalan. Setelah operasi berhasil, nomor versi diatur menjadi 1.

  • ABS: nomor versi absolut yang dapat diberikan kepada bidang saat bidang ditambahkan, terlepas dari apakah bidang sudah ada.

  • MIN: nilai minimum dari bidang. Jika nilai bidang kurang dari batas bawah ini, pesan kesalahan dikembalikan.

  • MAX: nilai maksimum dari bidang. Jika nilai bidang lebih besar dari batas atas ini, pesan kesalahan dikembalikan.

  • KEEPTTL: mempertahankan TTL saat ini dari bidang jika tidak ada satu pun parameter EX, EXAT, PX, atau PXAT yang ditentukan.

Keluaran

  • Jika operasi berhasil, nilai yang bertambah dengan nilai num dikembalikan.

  • Jika tidak, pesan kesalahan dikembalikan.

Contoh

Jalankan perintah EXHMSET myhash field1 10 terlebih dahulu.

Perintah contoh:

EXHINCRBYFLOAT myhash field1 9.235

Keluaran contoh:

"19.235"

EXHGETWITHVER

Item

Description

Sintaks

EXHGETWITHVER key field

Kompleksitas waktu

O(1)

Deskripsi perintah

Mengambil nilai dan nomor versi dari sebuah bidang dalam kunci TairHash. Jika kunci atau bidang tidak ada, nil akan dikembalikan.

Opsi

  • Key: kunci yang menentukan potongan data TairHash yang ingin Anda kelola dengan menjalankan perintah ini.

  • field: elemen dari kunci. Sebuah kunci dapat berisi beberapa bidang.

Keluaran

  • Jika bidang ada dan operasi berhasil, nilai dan nomor versi bidang tersebut akan dikembalikan.

  • Jika kunci atau bidang tidak ada, nil akan dikembalikan.

  • Selain itu, pesan kesalahan akan dikembalikan.

Contoh

Perintah contoh:

EXHGETWITHVER myhash field1

Keluaran contoh:

1) "19.235"
2) (integer) 5

EXHMGET

Item

Description

Sintaksis

EXHMGET key field [field ...]

Kompleksitas waktu

O(1)

Deskripsi perintah

Mengambil beberapa nilai bidang dari kunci TairHash dalam setiap kueri. Jika kunci tidak ada atau jika bidang tidak ada, nil dikembalikan.

Parameter

  • Key: kunci yang menentukan bagian data TairHash yang ingin Anda kelola dengan menjalankan perintah ini.

  • field: elemen dari kunci. Sebuah kunci dapat berisi beberapa bidang.

Keluaran

  • Jika kunci tidak ada, nil dikembalikan.

  • Jika kunci dan bidang ada, array dikembalikan. Setiap elemen dalam array sesuai dengan nilai bidang.

  • Jika kunci ada dan bidang tertentu tidak ada, array dikembalikan. Setiap elemen dalam array sesuai dengan nilai bidang. Elemen yang sesuai dengan bidang yang tidak ada ditampilkan sebagai nil.

  • Selain itu, pesan kesalahan dikembalikan.

Contoh

Jalankan perintah EXHMSET myhash field1 10 field2 var1 terlebih dahulu.

Perintah contoh:

EXHMGET myhash field1 field2

Keluaran contoh:

1) "10"
2) "var1"

EXHMGETWITHVER

Item

Description

Sintaksis

EXHMGETWITHVER key field [field ...]

Kompleksitas waktu

O(1)

Deskripsi perintah

Mengambil nilai dan nomor versi dari beberapa bidang dari kunci TairHash dalam setiap kueri.

Parameter

  • Key: kunci yang menentukan bagian data TairHash yang ingin Anda kelola dengan menjalankan perintah ini.

  • field: elemen dari kunci. Sebuah kunci dapat berisi beberapa bidang.

Keluaran

  • Jika kunci tidak ada, nil dikembalikan.

  • Jika kunci dan bidang ada, sebuah array dikembalikan. Setiap elemen dalam array sesuai dengan nilai bidang dan nomor versi.

  • Jika kunci ada dan bidang tertentu tidak ada, sebuah array dikembalikan. Setiap elemen dalam array sesuai dengan nilai bidang dan nomor versi bidang. Elemen-elemen yang sesuai dengan bidang yang tidak ada ditampilkan sebagai nil.

  • Jika tidak, pesan kesalahan dikembalikan.

Contoh

Jalankan perintah EXHMSET myhash field1 10 field2 var1 terlebih dahulu.

Perintah contoh:

 EXHMGETWITHVER myhash field1 field2

Keluaran contoh:

1) 1) "10"
   2) (integer) 1
2) 1) "var1"
   2) (integer) 1

EXHLEN

Item

Description

Sintaksis

EXHLEN key [NOEXP]

Kompleksitas waktu

Kompleksitas waktu adalah O(1) jika parameter NOEXP tidak ditentukan dan O(N) jika parameter NOEXP ditentukan.

Deskripsi perintah

Mengambil jumlah bidang dalam kunci TairHash. Keluaran mungkin mencakup jumlah bidang yang sudah kedaluwarsa tetapi belum dihapus karena perintah ini tidak memicu penghapusan pasif atau menyaring bidang yang kedaluwarsa. Jika Anda ingin mengambil hanya jumlah bidang yang belum kedaluwarsa, Anda dapat menetapkan parameter NOEXP dalam perintah Anda.

Opsi

  • Key: kunci yang menentukan potongan data TairHash yang ingin Anda kelola dengan menjalankan perintah ini.

  • NOEXP: menentukan untuk mengembalikan jumlah bidang yang belum kedaluwarsa. Secara default, perintah ini tidak memicu penghapusan atau menyaring bidang yang kedaluwarsa. Untuk alasan ini, keluaran perintah ini mungkin mencakup jumlah bidang yang sudah kedaluwarsa tetapi belum dihapus. Jika Anda ingin mengambil hanya jumlah bidang yang belum kedaluwarsa, Anda dapat menetapkan parameter NOEXP. Saat menetapkan parameter NOEXP, perhatikan hal-hal berikut:

    • Waktu respons perintah EXHLEN ditentukan oleh ukuran kunci karena sistem memindai semua data dalam kunci.

    • Keluaran perintah EXHLEN tidak mencakup jumlah bidang yang kedaluwarsa karena perintah ini menyaring bidang yang kedaluwarsa tetapi tidak menghapusnya.

Keluaran

  • Jika kunci tidak ada atau tidak ada bidang dalam kunci, nilai 0 dikembalikan.

  • Jika operasi berhasil, jumlah bidang dalam kunci dikembalikan.

  • Jika tidak, pesan kesalahan dikembalikan.

Contoh

Perintah contoh:

EXHLEN myhash

Keluaran contoh:

(integer) 2

EXHEXISTS

Item

Description

Sintaksis

EXHEXISTS key field

Kompleksitas waktu

O(1)

Deskripsi perintah

Memeriksa apakah sebuah bidang ada dalam kunci TairHash.

Parameter

  • Key: kunci yang menentukan potongan data TairHash yang ingin Anda kelola dengan menjalankan perintah ini.

  • field: elemen dari kunci. Sebuah kunci dapat berisi beberapa bidang.

Keluaran

  • Jika kunci atau bidang tidak ada, nilai 0 dikembalikan.

  • Jika bidang ada, nilai 1 dikembalikan.

  • Jika tidak, pesan kesalahan dikembalikan.

Contoh

Perintah contoh:

EXHEXISTS myhash field1

Keluaran contoh:

(integer) 1

EXHSTRLEN

Item

Description

Sintaksis

EXHSTRLEN key field

Kompleksitas waktu

O(1)

Deskripsi perintah

Mengambil panjang nilai bidang dari kunci TairHash.

Opsi

  • Key: kunci yang menentukan bagian data TairHash yang ingin Anda kelola dengan menjalankan perintah ini.

  • field: elemen dari kunci. Sebuah kunci dapat berisi beberapa bidang.

Keluaran

  • Jika kunci atau bidang tidak ada, nilai 0 akan dikembalikan.

  • Jika operasi berhasil, panjang nilai bidang akan dikembalikan.

  • Jika tidak, pesan kesalahan akan dikembalikan.

Contoh

Perintah contoh:

EXHSTRLEN myhash field1

Keluaran contoh:

(integer) 2

EXHKEYS

Item

Description

Sintaksis

EXHKEYS key

Kompleksitas waktu

O(N)

Deskripsi perintah

Mengambil semua bidang dari sebuah kunci TairHash.

Parameter

  • Key: kunci yang menentukan potongan data TairHash yang ingin Anda kelola dengan menjalankan perintah ini.

Output

  • Jika kunci tidak ada, array kosong akan dikembalikan.

  • Jika kunci ada, array akan dikembalikan. Setiap elemen dalam array sesuai dengan sebuah bidang dalam kunci tersebut.

  • Selain itu, pesan kesalahan akan dikembalikan.

Contoh

Jalankan perintah EXHMSET myhash field1 10 field2 var1 terlebih dahulu.

Perintah contoh:

EXHKEYS myhash

Output contoh:

1) "field1"
2) "field2"

EXHVALS

Item

Description

Sintaksis

EXHVALS key

Kompleksitas waktu

O(N)

Deskripsi perintah

Mengambil semua nilai bidang dari kunci TairHash.

opsi

  • Key: kunci yang menentukan bagian data TairHash yang ingin Anda kelola dengan menjalankan perintah ini.

Output

  • Jika kunci tidak ada, array kosong dikembalikan.

  • Jika kunci ada, array dikembalikan. Setiap elemen dalam array sesuai dengan nilai bidang di kunci tersebut.

  • Jika tidak, pesan kesalahan dikembalikan.

Contoh

Jalankan perintah EXHMSET myhash field1 10 field2 var1 terlebih dahulu.

Perintah contoh:

EXHVALS myhash

Output contoh:

1) "10"
2) "var1"

EXHGETALL

Kategori

Deskripsi

Sintaksis

EXHGETALL key

Kompleksitas waktu

O(N)

Deskripsi perintah

Mengambil semua bidang dan nilai-nilainya dari kunci TairHash.

Opsi

  • Key: kunci yang menentukan bagian data TairHash yang ingin Anda kelola dengan menjalankan perintah ini.

Output

  • Jika kunci tidak ada, array kosong akan dikembalikan.

  • Jika kunci ada, array akan dikembalikan. Setiap elemen dalam array sesuai dengan pasangan bidang-nilai di dalam kunci.

  • Selain itu, pesan kesalahan akan dikembalikan.

Contoh

Jalankan perintah EXHMSET myhash field1 10 field2 var1 terlebih dahulu.

Perintah contoh:

EXHGETALL myhash

Output contoh:

1) "field1"
2) "10"
3) "field2"
4) "var1"

EXHSCAN

Item

Description

Sintaksis

EXHSCAN key op subkey [MATCH pattern] [COUNT count]

Kompleksitas waktu

Kompleksitas waktu adalah O(1) untuk setiap pemanggilan dan O(N) untuk iterasi lengkap.

Deskripsi perintah

Memindai kunci TairHash.

Catatan

Perintah ini hanya didukung untuk instans berbasis DRAM.

Parameter

  • key: kunci yang menentukan bagian data TairHash yang ingin Anda kelola dengan menjalankan perintah ini.

  • op: posisi dari mana pemindaian dimulai. Nilai valid:

    • >: Pemindaian dimulai dari bidang pertama yang memiliki nilai lebih besar dari nilai subkey.

    • >=: Pemindaian dimulai dari bidang pertama yang memiliki nilai lebih besar atau sama dengan nilai subkey.

    • <: Pemindaian dimulai dari bidang pertama yang memiliki nilai kurang dari nilai subkey.

    • <=: Pemindaian dimulai dari bidang pertama yang memiliki nilai kurang dari atau sama dengan nilai subkey.

    • ==: Pemindaian dimulai dari bidang pertama yang memiliki nilai sama dengan nilai subkey.

    • ^: Pemindaian dimulai dari bidang pertama.

    • $: Pemindaian dimulai dari bidang terakhir.

  • subkey: parameter yang digunakan bersama dengan parameter op untuk menentukan posisi dari mana pemindaian dimulai. Jika parameter op diatur ke ^ atau $, parameter ini diabaikan.

  • MATCH: menyaring subkey yang akan dipindai berdasarkan pola ekspresi reguler.

  • COUNT: menentukan jumlah bidang yang dapat dipindai dalam setiap kueri. Nilai defaultnya adalah 10.

    Catatan

    Parameter COUNT menentukan jumlah bidang yang dipindai dalam setiap kueri dan tidak menjamin bahwa jumlah bidang yang dikembalikan adalah jumlah bidang yang dipindai. Jumlah bidang yang dikembalikan ditentukan oleh jumlah bidang yang ada dalam kunci dan apakah parameter MATCH ditentukan.

Keluaran

  • Jika kunci tidak ada, array kosong dikembalikan.

  • Jika kunci ada, array yang berisi dua elemen dikembalikan:

    • Elemen pertama adalah bidang pertama dari mana pemindaian berikutnya dimulai. Jika pemindaian kunci selesai, elemen ini dibiarkan kosong.

    • Elemen kedua adalah hasil pemindaian, yang mencakup bidang dan nilai.

  • Selain itu, pesan kesalahan dikembalikan.

Contoh

Jalankan perintah EXHMSET myhashkey field1 val1 field2 val2 field3 val3 field4 val4 field5 val5 terlebih dahulu.

Contoh perintah:

EXHSCAN myhashkey ^ xx COUNT 3

Contoh keluaran:

1) "field4"
2) 1) "field1"
   2) "val1"
   3) "field2"
   4) "val2"
   5) "field3"
   6) "val3"

EXHSCANUNORDER

Item

Description

Sintaksis

EXHSCANUNORDER key cursor [MATCH pattern] [COUNT count]

Kompleksitas waktu

Kompleksitas waktu adalah O(1) untuk setiap pemanggilan dan O(N) untuk iterasi lengkap.

Deskripsi perintah

Memindai kunci TairHash.

Catatan

Perintah ini hanya didukung untuk instans yang dioptimalkan untuk memori persisten.

Parameter

  • key: kunci yang menentukan bagian data TairHash yang ingin Anda kelola dengan menjalankan perintah ini.

  • cursor: kursor yang digunakan dalam pemindaian ini.

  • MATCH: menyaring bidang yang akan dipindai berdasarkan pola ekspresi reguler.

  • COUNT: menentukan jumlah bidang yang dapat dipindai dalam setiap kueri. Nilai defaultnya adalah 10.

    Catatan

    Parameter COUNT menentukan jumlah bidang yang dipindai dalam setiap kueri dan tidak menjamin bahwa jumlah bidang yang dikembalikan adalah sama dengan jumlah bidang yang dipindai. Jumlah bidang yang dikembalikan ditentukan oleh jumlah bidang yang ada di kunci dan apakah parameter MATCH ditentukan.

Keluaran

  • Jika kunci tidak ada, array kosong akan dikembalikan.

  • Jika kunci ada, array yang berisi dua elemen akan dikembalikan:

    • Elemen pertama dari array adalah kursor yang digunakan untuk pemindaian berikutnya. Jika pemindaian kunci selesai, nilai 0 akan dikembalikan.

    • Elemen kedua adalah hasil pemindaian, yang mencakup bidang dan nilai.

  • Selain itu, pesan kesalahan akan dikembalikan.

Contoh

Jalankan perintah EXHMSET myhashkey field1 val1 field2 val2 field3 val3 field4 val4 field5 val5 terlebih dahulu.

Contoh perintah:

EXHSCANUNORDER myhashkey 0 COUNT 3

Contoh keluaran:

1) "1"
2) 1) "field5"
   2) "val5"
   3) "field2"
   4) "val2"

EXHDEL

Kategori

Deskripsi

Sintaksis

EXHDEL key field [field ...]

Kompleksitas waktu

O(1)

Deskripsi perintah

Menghapus bidang dari kunci TairHash. Jika kunci atau bidang tidak ada, nilai 0 akan dikembalikan. Jika bidang dihapus, nilai 1 akan dikembalikan.

Parameter

  • Key: kunci yang menentukan potongan data TairHash yang ingin Anda kelola dengan menjalankan perintah ini.

  • field: elemen dari kunci. Sebuah kunci dapat berisi beberapa bidang.

Keluaran

  • Jika kunci atau bidang tidak ada, nilai 0 akan dikembalikan.

  • Jika operasi berhasil, nilai 1 akan dikembalikan.

  • Jika tidak, pesan kesalahan akan dikembalikan.

Contoh

Perintah contoh:

EXHDEL myhash field1

Keluaran contoh:

(integer) 1

FAQ

  • Q: Mengapa exHash mengonsumsi lebih banyak memori dibandingkan struktur Hash standar dari Redis Edisi Open-Source ketika data yang sama ditulis?

    A: Hal ini karena exHash memungkinkan Anda menentukan waktu kedaluwarsa dan versi untuk bidang individu. Akibatnya, metadata tambahan harus disimpan dalam struktur data, yang mengakibatkan penggunaan memori yang lebih tinggi dibandingkan dengan struktur Hash standar dari Redis Edisi Open-Source.