全部产品
Search
文档中心

Tair (Redis® OSS-Compatible):exHash

更新时间:Feb 04, 2026

TairHash (exHash) adalah struktur data hash yang memungkinkan Anda menetapkan waktu kedaluwarsa dan versi untuk setiap field. Kemampuan ini meningkatkan fleksibilitas struktur data hash dan menyederhanakan pengembangan dalam berbagai skenario.

Pengenalan TairHash

TairHash menyediakan antarmuka data yang kaya dan performa tinggi, mirip dengan Redis Hash. Namun, berbeda dengan Redis Hash yang hanya mendukung penyetelan waktu kedaluwarsa di level kunci, TairHash memungkinkan penyetelan waktu kedaluwarsa dan versi secara individual untuk setiap field. Fitur ini secara signifikan meningkatkan fleksibilitas struktur data hash dan menyederhanakan pengembangan. TairHash menggunakan algoritma Active Expire yang efisien untuk memeriksa dan menghapus field kedaluwarsa tanpa berdampak signifikan terhadap waktu respons.

Fitur utama

  • Menetapkan waktu kedaluwarsa dan versi untuk setiap field.

  • Mendukung kebijakan kedaluwarsa aktif dan pasif yang efisien serta fleksibel untuk field.

  • Menggunakan sintaksis yang mirip dengan tipe data Redis Hash asli.

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

Prasyarat

Instans adalah Tair.

Catatan

Versi minor terbaru menyediakan fitur tambahan dan peningkatan stabilitas. Perbarui instans Anda ke versi minor terbaru. Untuk informasi lebih lanjut, lihat Pembaruan versi minor. Jika instans Anda menggunakan arsitektur kluster atau arsitektur Pemisahan baca/tulis, perbarui node proxy ke versi minor terbaru. Jika tidak, beberapa perintah mungkin tidak dikenali.

Perhatian

Perintah-perintah ini beroperasi pada data TairHash dalam instans Tair.

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 field ke kunci TairHash yang ditentukan. Jika kunci tidak ada, kunci akan dibuat secara otomatis. Jika field sudah ada, nilainya akan ditimpa.

EXHGET

EXHGET key field

Mengambil nilai field dalam kunci TairHash yang ditentukan. Mengembalikan nil jika kunci atau field tidak ada.

EXHMSET

EXHMSET key field value [field value ...]

Menambahkan beberapa field ke kunci TairHash yang ditentukan. Jika kunci tidak ada, kunci akan dibuat secara otomatis. Jika field sudah ada, nilainya akan ditimpa.

EXHPEXPIREAT

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

Menetapkan waktu kedaluwarsa absolut untuk field dalam kunci TairHash yang ditentukan. Waktu akurat hingga milidetik.

EXHPEXPIRE

EXHPEXPIRE key field milliseconds [VER | ABS version]

Menetapkan waktu kedaluwarsa relatif dalam milidetik untuk field dalam kunci TairHash yang ditentukan.

EXHEXPIREAT

EXHEXPIREAT key field timestamp [VER | ABS version]

Menetapkan waktu kedaluwarsa absolut untuk field dalam kunci TairHash yang ditentukan. Waktu akurat hingga detik.

EXHEXPIRE

EXHEXPIRE key field seconds [VER | ABS version]

Menetapkan waktu kedaluwarsa relatif dalam detik untuk field dalam kunci TairHash yang ditentukan.

EXHPTTL

EXHPTTL key field

Mengambil sisa TTL field dalam kunci TairHash yang ditentukan. Waktu dalam milidetik.

EXHTTL

EXHTTL key field

Mengambil sisa TTL field dalam kunci TairHash yang ditentukan. Waktu dalam detik.

EXHVER

EXHVER key field

Mengambil nomor versi saat ini dari field dalam kunci TairHash yang ditentukan.

EXHSETVER

EXHSETVER key field version

Menetapkan nomor versi field dalam kunci TairHash yang ditentukan.

EXHINCRBY

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

Menambahkan nilai integer field dalam kunci TairHash yang ditentukan dengan angka tertentu. Jika kunci tidak ada, kunci akan dibuat secara otomatis. Jika field yang ditentukan tidak ada, field tersebut akan dibuat dengan nilai 0 sebelum operasi penambahan.

Catatan

Setelah Anda menetapkan timeout untuk suatu field, jika Anda menjalankan perintah ini lagi pada field tersebut tanpa menentukan timeout, field tersebut akan diatur agar tidak pernah kedaluwarsa.

EXHINCRBYFLOAT

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

Menambahkan nilai bilangan titik mengambang field dalam kunci TairHash yang ditentukan dengan angka tertentu. Jika kunci tidak ada, kunci akan dibuat secara otomatis. Jika field yang ditentukan tidak ada, field tersebut akan dibuat dengan nilai 0 sebelum operasi penambahan.

Catatan

Setelah Anda menetapkan timeout untuk suatu field, jika Anda menjalankan perintah ini lagi pada field tersebut tanpa menentukan timeout, field tersebut akan diatur agar tidak pernah kedaluwarsa.

EXHGETWITHVER

EXHGETWITHVER key field

Mengambil nilai dan versi field dalam kunci TairHash yang ditentukan. Mengembalikan nil jika kunci atau field tidak ada.

EXHMGET

EXHMGET key field [field ...]

Mengambil nilai beberapa field dalam kunci TairHash yang ditentukan. Mengembalikan nil jika kunci atau field tidak ada.

EXHMGETWITHVER

EXHMGETWITHVER key field [field ...]

Mengambil nilai dan versi beberapa field dalam kunci TairHash yang ditentukan.

EXHLEN

EXHLEN key [NOEXP]

Mengambil jumlah field dalam kunci TairHash yang ditentukan. Perintah ini tidak memicu eviction pasif atau menyaring field yang telah kedaluwarsa. Oleh karena itu, hasilnya mungkin mencakup field yang telah kedaluwarsa tetapi belum dihapus. Untuk mengembalikan hanya jumlah field yang belum kedaluwarsa, tentukan opsi NOEXP.

EXHEXISTS

EXHEXISTS key field

Memeriksa apakah field yang ditentukan ada dalam kunci TairHash.

EXHSTRLEN

EXHSTRLEN key field

Mengambil panjang nilai field dalam kunci TairHash yang ditentukan.

EXHKEYS

EXHKEYS key

Mengambil semua field dalam kunci TairHash yang ditentukan.

EXHVALS

EXHVALS key

Mengambil nilai semua field dalam kunci TairHash yang ditentukan.

EXHGETALL

EXHGETALL key

Mengambil semua field beserta nilainya dalam kunci TairHash yang ditentukan.

EXHSCAN

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

Memindai kunci TairHash yang ditentukan.

Catatan

Perintah ini hanya didukung untuk instans optimasi memori.

EXHDEL

EXHDEL key field [field ...]

Menghapus field dari kunci TairHash yang ditentukan. Mengembalikan 0 jika kunci atau field tidak ada. Mengembalikan 1 jika penghapusan berhasil.

DEL

DEL <key> [key ...]

Menghapus satu atau beberapa kunci TairHash menggunakan perintah Redis DEL asli.

Catatan

Daftar berikut menjelaskan konvensi sintaksis perintah yang digunakan dalam topik ini:

  • Kata kunci huruf kapital: menunjukkan kata kunci perintah.

  • Teks miring: menunjukkan variabel.

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

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

  • ...: menunjukkan bahwa parameter sebelum simbol ini dapat diulang berkali-kali.

EXHSET

Kategori

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 field ke kunci TairHash yang ditentukan. Jika kunci tidak ada, kunci akan dibuat secara otomatis. Jika field sudah ada, nilainya akan ditimpa.

Catatan
  • Setelah Anda menetapkan timeout untuk suatu field, jika Anda menjalankan perintah ini lagi pada field tersebut tanpa menentukan timeout, field tersebut akan diatur agar tidak pernah kedaluwarsa.

  • Gunakan perintah EXPIRE atau EXPIREAT untuk menetapkan waktu kedaluwarsa untuk kunci.

Opsi

  • Key: Kunci TairHash.

  • field: Elemen dalam kunci TairHash. Satu kunci dapat memiliki beberapa field.

  • value: Nilai field. Satu field hanya dapat memiliki satu nilai.

  • EX: Waktu kedaluwarsa relatif field, dalam detik. Nilai 0 menunjukkan bahwa field kedaluwarsa segera. Jika Anda tidak menentukan parameter ini, field tidak akan kedaluwarsa.

  • EXAT: Waktu kedaluwarsa absolut field, dalam detik. Nilai 0 menunjukkan bahwa field kedaluwarsa segera. Jika Anda tidak menentukan parameter ini, field tidak akan kedaluwarsa.

  • PX: Waktu kedaluwarsa relatif field, dalam milidetik. Nilai 0 menunjukkan bahwa field kedaluwarsa segera. Jika Anda tidak menentukan parameter ini, field tidak akan kedaluwarsa.

  • PXAT: Waktu kedaluwarsa absolut field, dalam milidetik. Nilai 0 menunjukkan bahwa field kedaluwarsa segera. Jika Anda tidak menentukan parameter ini, field tidak akan kedaluwarsa.

  • NX: Menyisipkan field hanya jika field tersebut belum ada.

  • XX: Menyisipkan field hanya jika field tersebut sudah ada.

  • VER: Nomor versi.

    • Jika field ada, versi saat ini dibandingkan dengan versi yang ditentukan:

      • Jika sama, operasi dilanjutkan dan nomor versi dinaikkan sebesar 1.

      • Jika berbeda, kesalahan dikembalikan.

    • Jika field tidak ada atau versi saat ini adalah 0, versi yang ditentukan diabaikan dan operasi dilanjutkan. Setelah operasi berhasil, nomor versi menjadi 1.

  • ABS: Nomor versi absolut. Saat menyisipkan field, Anda dapat mengatur versinya ke nilai parameter ini, terlepas dari apakah field tersebut sudah ada atau belum.

  • KEEPTTL: Mempertahankan pengaturan kedaluwarsa saat ini dari field jika Anda tidak menentukan opsi EX, EXAT, PX, atau PXAT.

    Catatan

    Jika Anda tidak menggunakan opsi KEEPTTL, perintah EXHSET secara default akan menghapus waktu kedaluwarsa asli dari field tersebut.

Nilai kembali

  • 1: Field baru dibuat dan nilainya diatur.

  • 0: Field sudah ada dan nilai lama ditimpa.

  • -1: Opsi XX ditentukan tetapi field tidak ada.

  • -1: Opsi NX ditentukan tetapi field sudah ada.

  • "ERR update version is stale": Opsi VER ditentukan dan versi tidak sesuai dengan versi saat ini.

  • Jika tidak, pesan kesalahan dikembalikan.

Contoh

Perintah contoh:

EXHSET myhash field1 val EX 10

Nilai kembali contoh:

(integer) 1

EXHGET

Kategori

Deskripsi

Sintaksis

EXHGET key field

Kompleksitas waktu

O(1)

Deskripsi perintah

Mengambil nilai field dalam kunci TairHash yang ditentukan. Mengembalikan nil jika kunci atau field tidak ada.

Opsi

  • Key: Kunci TairHash.

  • field: Elemen dalam kunci TairHash. Satu kunci dapat memiliki beberapa field.

Nilai kembali

  • Nilai field: Field ada dan operasi berhasil.

  • nil: Kunci atau field tidak ada.

  • Jika tidak, pesan kesalahan dikembalikan.

Contoh

Jalankan perintah EXHSET myhash field1 val terlebih dahulu.

Perintah contoh:

EXHGET myhash field1

Nilai kembali contoh:

"val"

EXHMSET

Kategori

Deskripsi

Sintaksis

EXHMSET key field value [field value ...]

Kompleksitas waktu

O(N)

Deskripsi perintah

Menambahkan beberapa field ke kunci TairHash yang ditentukan. Jika kunci tidak ada, kunci akan dibuat secara otomatis. Jika field sudah ada, nilainya akan ditimpa.

Catatan

Setelah membuat kunci, Anda dapat menggunakan perintah EXHPEXPIREAT, EXHPEXPIRE, EXHEXPIREAT, atau EXHEXPIRE untuk menetapkan waktu kedaluwarsa untuk field. Anda juga dapat menggunakan perintah EXPIRE atau EXPIREAT untuk menetapkan waktu kedaluwarsa untuk kunci.

Opsi

  • Key: Kunci TairHash.

  • field: Elemen dalam kunci TairHash. Satu kunci dapat memiliki beberapa field.

  • value: Nilai field. Satu field hanya dapat memiliki satu nilai.

Nilai kembali

  • OK: Operasi berhasil.

  • Jika tidak, pesan kesalahan dikembalikan.

Contoh

Perintah contoh:

EXHMSET myhash field1 val1 field2 val2

Nilai kembali contoh:

OK

EXHPEXPIREAT

Kategori

Deskripsi

Sintaksis

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

Kompleksitas waktu

O(1)

Deskripsi perintah

Menetapkan waktu kedaluwarsa absolut untuk field dalam kunci TairHash yang ditentukan. Waktu akurat hingga milidetik.

Opsi

  • Key: Kunci TairHash.

  • field: Elemen dalam kunci TairHash. Satu kunci dapat memiliki beberapa field.

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

  • VER: Nomor versi.

    • Jika field ada, versi saat ini dibandingkan dengan versi yang ditentukan:

      • Jika sama, operasi dilanjutkan dan nomor versi dinaikkan sebesar 1.

      • Jika berbeda, kesalahan dikembalikan.

    • Jika field tidak ada atau versi saat ini adalah 0, versi yang ditentukan diabaikan dan operasi dilanjutkan. Setelah operasi berhasil, nomor versi menjadi 1.

  • ABS: Nomor versi absolut. Saat menyisipkan field, Anda dapat mengatur versinya ke nilai parameter ini, terlepas dari apakah field tersebut sudah ada atau belum.

Nilai kembali

  • Field ada dan berhasil diatur menjadi 1.

  • 0: Field tidak ada.

  • Jika tidak, pesan kesalahan dikembalikan.

Contoh

Perintah contoh:

EXHPEXPIREAT myhash field1 1293840000

Nilai kembali contoh:

(integer) 1

EXHPEXPIRE

Kategori

Deskripsi

Sintaksis

EXHPEXPIRE key field milliseconds [VER | ABS version]

Kompleksitas waktu

O(1)

Deskripsi perintah

Menetapkan waktu kedaluwarsa relatif dalam milidetik untuk field dalam kunci TairHash yang ditentukan.

Opsi

  • Key: Kunci TairHash.

  • field: Elemen dalam kunci TairHash. Satu kunci dapat memiliki beberapa field.

  • milliseconds: Waktu kedaluwarsa relatif dalam milidetik.

  • VER: Nomor versi.

    • Jika field ada, versi saat ini dibandingkan dengan versi yang ditentukan:

      • Jika sama, operasi dilanjutkan dan nomor versi dinaikkan sebesar 1.

      • Jika berbeda, kesalahan dikembalikan.

    • Jika field tidak ada atau versi saat ini adalah 0, versi yang ditentukan diabaikan dan operasi dilanjutkan. Setelah operasi berhasil, nomor versi menjadi 1.

  • ABS: Nomor versi absolut. Saat menyisipkan field, Anda dapat mengatur versinya ke nilai parameter ini, terlepas dari apakah field tersebut sudah ada atau belum.

Nilai kembali

  • Nilai 1 menunjukkan bahwa field ada dan berhasil diatur.

  • 0: Field tidak ada.

  • Jika tidak, pesan kesalahan dikembalikan.

Contoh

Perintah contoh:

EXHPEXPIRE myhash field1 1000

Nilai kembali contoh:

(integer) 1

EXHEXPIREAT

Kategori

Deskripsi

Sintaksis

EXHEXPIREAT key field timestamp [VER | ABS version]

Kompleksitas waktu

O(1)

Deskripsi perintah

Menetapkan waktu kedaluwarsa absolut untuk field dalam kunci TairHash yang ditentukan. Waktu akurat hingga detik.

Opsi

  • Key: Kunci TairHash.

  • field: Elemen dalam kunci TairHash. Satu kunci dapat memiliki beberapa field.

  • timestamp: Stempel waktu UNIX yang akurat hingga detik.

  • VER: Nomor versi.

    • Jika field ada, versi saat ini dibandingkan dengan versi yang ditentukan:

      • Jika sama, operasi dilanjutkan dan nomor versi dinaikkan sebesar 1.

      • Jika berbeda, kesalahan dikembalikan.

    • Jika field tidak ada atau versi saat ini adalah 0, versi yang ditentukan diabaikan dan operasi dilanjutkan. Setelah operasi berhasil, nomor versi menjadi 1.

  • ABS: Nomor versi absolut. Saat menyisipkan field, Anda dapat mengatur versinya ke nilai parameter ini, terlepas dari apakah field tersebut sudah ada atau belum.

Nilai kembali

  • Field berhasil diatur menjadi 1.

  • 0: Field tidak ada.

  • Dalam kasus lain, informasi abnormal yang sesuai dikembalikan.

Contoh

Perintah contoh:

EXHEXPIREAT myhash field1 1293840000

Nilai kembali contoh:

(integer) 1

EXHEXPIRE

Kategori

Deskripsi

Sintaksis

EXHEXPIRE key field seconds [VER | ABS version]

Kompleksitas waktu

O(1)

Deskripsi perintah

Menetapkan waktu kedaluwarsa relatif dalam detik untuk field dalam kunci TairHash yang ditentukan.

Opsi

  • Key: Kunci TairHash.

  • field: Elemen dalam kunci TairHash. Satu kunci dapat memiliki beberapa field.

  • seconds: Waktu kedaluwarsa relatif, dalam detik.

  • VER: Nomor versi.

    • Jika field ada, versi saat ini dibandingkan dengan versi yang ditentukan:

      • Jika sama, operasi dilanjutkan dan nomor versi dinaikkan sebesar 1.

      • Jika berbeda, kesalahan dikembalikan.

    • Jika field tidak ada atau versi saat ini adalah 0, versi yang ditentukan diabaikan dan operasi dilanjutkan. Setelah operasi berhasil, nomor versi menjadi 1.

  • ABS: Nomor versi absolut. Saat menyisipkan field, Anda dapat mengatur versinya ke nilai parameter ini, terlepas dari apakah field tersebut sudah ada atau belum.

Nilai kembali

  • Field ada dan berhasil diatur: 1.

  • 0: Field tidak ada.

  • Jika tidak, pesan kesalahan dikembalikan.

Contoh

Perintah contoh:

EXHEXPIRE myhash field1 100

Nilai kembali contoh:

(integer) 1

EXHPTTL

Kategori

Deskripsi

Sintaksis

EXHPTTL key field

Kompleksitas waktu

O(1)

Deskripsi perintah

Mengambil sisa TTL field dalam kunci TairHash yang ditentukan. Waktu dalam milidetik.

Opsi

  • Key: Kunci TairHash.

  • field: Elemen dalam kunci TairHash. Satu kunci dapat memiliki beberapa field.

Nilai kembali

  • -1: Field ada tetapi tidak memiliki waktu kedaluwarsa yang ditetapkan.

  • -2: Kunci tidak ada.

  • -3: Field tidak ada.

  • Sisa TTL dalam milidetik: Field ada dan memiliki waktu kedaluwarsa yang ditetapkan.

  • Jika tidak, pesan kesalahan dikembalikan.

Contoh

Jalankan perintah EXHSET myhash field1 val1 EX 100 terlebih dahulu.

Perintah contoh:

EXHPTTL myhash field1

Nilai kembali contoh:

(integer) 97213

EXHTTL

Kategori

Deskripsi

Sintaksis

EXHTTL key field

Kompleksitas waktu

O(1)

Deskripsi perintah

Mengambil sisa TTL field dalam kunci TairHash yang ditentukan. Waktu dalam detik.

Opsi

  • Key: Kunci yang menentukan TairHash tempat perintah dijalankan.

  • field: Elemen dalam kunci TairHash. Satu kunci dapat memiliki beberapa field.

Nilai kembali

  • -2: Kunci tidak ada.

  • -3: Field tidak ada.

  • -1: Field ada tetapi tidak memiliki waktu kedaluwarsa yang ditetapkan.

  • Sisa TTL dalam detik: Field ada dan memiliki waktu kedaluwarsa yang ditetapkan.

  • Dalam kasus lain, kembalikan informasi abnormal yang sesuai.

Contoh

Jalankan perintah EXHSET myhash field1 val1 EX 100 terlebih dahulu.

Perintah contoh:

EXHTTL myhash field1

Nilai kembali contoh:

(integer) 85

EXHVER

Kategori

Deskripsi

Sintaksis

EXHVER key field

Kompleksitas waktu

O(1)

Deskripsi perintah

Mengambil nomor versi saat ini dari field dalam kunci TairHash yang ditentukan.

Opsi

  • Key: Kunci TairHash.

  • field: Elemen dalam kunci TairHash. Satu kunci dapat memiliki beberapa field.

Nilai kembali

  • -1: Kunci tidak ada.

  • -2: Field tidak ada.

  • Nomor versi field: Kueri berhasil.

  • Jika tidak, pesan kesalahan dikembalikan.

Contoh

Perintah contoh:

EXHVER myhash field1

Nilai kembali contoh:

(integer) 1

EXHSETVER

Kategori

Deskripsi

Sintaksis

EXHSETVER key field version

Kompleksitas waktu

O(1)

Deskripsi perintah

Menetapkan nomor versi field dalam kunci TairHash yang ditentukan.

Opsi

  • Key: Kunci TairHash.

  • field: Elemen dalam kunci TairHash. Satu kunci dapat memiliki beberapa field.

Nilai kembali

  • 0: Kunci TairHash atau field tidak ada.

  • Berhasil diatur: 1.

  • Jika tidak, pesan kesalahan yang sesuai dikembalikan.

Contoh

Perintah contoh:

EXHSETVER myhash field1 3

Nilai kembali contoh:

(integer) 1

EXHINCRBY

Kategori

Deskripsi

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

Menambahkan nilai integer field dalam kunci TairHash yang ditentukan dengan angka tertentu. Jika kunci tidak ada, kunci akan dibuat secara otomatis. Jika field yang ditentukan tidak ada, field tersebut akan dibuat dengan nilai 0 sebelum operasi penambahan.

Catatan

Setelah Anda menetapkan timeout untuk suatu field, jika Anda menjalankan perintah ini lagi pada field tersebut tanpa menentukan timeout, field tersebut akan diatur agar tidak pernah kedaluwarsa.

Opsi

  • Key: Kunci TairHash.

  • field: Elemen dalam kunci TairHash. Satu kunci dapat memiliki beberapa field.

  • num: Integer yang digunakan untuk menambah nilai field.

  • EX: Waktu kedaluwarsa relatif field, dalam detik. Nilai 0 menunjukkan bahwa field kedaluwarsa segera. Jika Anda tidak menentukan parameter ini, field tidak akan kedaluwarsa.

  • EXAT: Waktu kedaluwarsa absolut field, dalam detik. Nilai 0 menunjukkan bahwa field kedaluwarsa segera. Jika Anda tidak menentukan parameter ini, field tidak akan kedaluwarsa.

  • PX: Waktu kedaluwarsa relatif field, dalam milidetik. Nilai 0 menunjukkan bahwa field kedaluwarsa segera. Jika Anda tidak menentukan parameter ini, field tidak akan kedaluwarsa.

  • PXAT: Waktu kedaluwarsa absolut field, dalam milidetik. Nilai 0 menunjukkan bahwa field kedaluwarsa segera. Jika Anda tidak menentukan parameter ini, field tidak akan kedaluwarsa.

  • VER: Nomor versi.

    • Jika field ada, versi saat ini dibandingkan dengan versi yang ditentukan:

      • Jika sama, operasi dilanjutkan dan nomor versi dinaikkan sebesar 1.

      • Jika berbeda, kesalahan dikembalikan.

    • Jika field tidak ada atau versi saat ini adalah 0, versi yang ditentukan diabaikan dan operasi dilanjutkan. Setelah operasi berhasil, nomor versi menjadi 1.

  • ABS: Nomor versi absolut. Saat menyisipkan field, Anda dapat mengatur versinya ke nilai parameter ini, terlepas dari apakah field tersebut sudah ada atau belum.

  • MIN: Nilai minimum. Kesalahan dikembalikan jika nilai kurang dari nilai minimum.

  • MAX: Nilai maksimum. Kesalahan dikembalikan jika nilai melebihi nilai maksimum.

  • KEEPTTL: Mempertahankan pengaturan kedaluwarsa saat ini dari field jika Anda tidak menentukan opsi EX, EXAT, PX, atau PXAT.

Nilai kembali

  • Berhasil: Jumlah nilai dan num.

  • Jika tidak, terjadi kesalahan.

Contoh

Jalankan perintah EXHMSET myhash field1 10 terlebih dahulu.

Perintah contoh:

EXHINCRBY myhash field1 100

Nilai kembali contoh:

(integer) 110

EXHINCRBYFLOAT

Kategori

Deskripsi

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 bilangan titik mengambang field dalam kunci TairHash yang ditentukan dengan angka tertentu. Jika kunci tidak ada, kunci akan dibuat secara otomatis. Jika field yang ditentukan tidak ada, field tersebut akan dibuat dengan nilai 0 sebelum operasi penambahan.

Catatan

Setelah Anda menetapkan timeout untuk suatu field, jika Anda menjalankan perintah ini lagi pada field tersebut tanpa menentukan timeout, field tersebut akan diatur agar tidak pernah kedaluwarsa.

Opsi

  • Key: Kunci TairHash.

  • field: Elemen dalam kunci TairHash. Satu kunci dapat memiliki beberapa field.

  • num: Bilangan titik mengambang yang digunakan untuk menambah nilai field.

  • EX: Waktu kedaluwarsa relatif field, dalam detik. Nilai 0 menunjukkan bahwa field kedaluwarsa segera. Jika Anda tidak menentukan parameter ini, field tidak akan kedaluwarsa.

  • EXAT: Waktu kedaluwarsa absolut field, dalam detik. Nilai 0 menunjukkan bahwa field kedaluwarsa segera. Jika Anda tidak menentukan parameter ini, field tidak akan kedaluwarsa.

  • PX: Waktu kedaluwarsa relatif field, dalam milidetik. Nilai 0 menunjukkan bahwa field kedaluwarsa segera. Jika Anda tidak menentukan parameter ini, field tidak akan kedaluwarsa.

  • PXAT: Waktu kedaluwarsa absolut field, dalam milidetik. Nilai 0 menunjukkan bahwa field kedaluwarsa segera. Jika Anda tidak menentukan parameter ini, field tidak akan kedaluwarsa.

  • VER: Nomor versi.

    • Jika field ada, versi saat ini dibandingkan dengan versi yang ditentukan:

      • Jika sama, operasi dilanjutkan dan nomor versi dinaikkan sebesar 1.

      • Jika berbeda, kesalahan dikembalikan.

    • Jika field tidak ada atau versi saat ini adalah 0, versi yang ditentukan diabaikan dan operasi dilanjutkan. Setelah operasi berhasil, nomor versi menjadi 1.

  • ABS: Nomor versi absolut. Saat menyisipkan field, Anda dapat mengatur versinya ke nilai parameter ini, terlepas dari apakah field tersebut sudah ada atau belum.

  • MIN: Nilai minimum. Kesalahan dikembalikan jika nilai kurang dari nilai minimum.

  • MAX: Nilai maksimum. Kesalahan dikembalikan jika nilai melebihi nilai maksimum.

  • KEEPTTL: Mempertahankan pengaturan kedaluwarsa saat ini dari field jika Anda tidak menentukan opsi EX, EXAT, PX, atau PXAT.

Nilai kembali

  • Berhasil: Jumlah nilai dan num.

  • Dalam kasus lain, pengecualian dikembalikan.

Contoh

Jalankan perintah EXHMSET myhash field1 10 terlebih dahulu.

Perintah contoh:

EXHINCRBYFLOAT myhash field1 9.235

Nilai kembali contoh:

"19.235"

EXHGETWITHVER

Kategori

Deskripsi

Sintaksis

EXHGETWITHVER key field

Kompleksitas waktu

O(1)

Deskripsi perintah

Mengambil nilai dan versi field dalam kunci TairHash yang ditentukan. Mengembalikan nil jika kunci atau field tidak ada.

Opsi

  • Key: Kunci TairHash.

  • field: Elemen dalam kunci TairHash. Satu kunci dapat memiliki beberapa field.

Nilai kembali

  • Nilai dan versi field: Field ada dan operasi berhasil.

  • nil: Kunci atau field tidak ada.

  • Jika tidak, pesan kesalahan dikembalikan.

Contoh

Perintah contoh:

EXHGETWITHVER myhash field1

Nilai kembali contoh:

1) "19.235"
2) (integer) 5

EXHMGET

Kategori

Deskripsi

Sintaksis

EXHMGET key field [field ...]

Kompleksitas waktu

O(1)

Deskripsi perintah

Mengambil nilai beberapa field dalam kunci TairHash yang ditentukan. Mengembalikan nil jika kunci atau field tidak ada.

Opsi

  • Key: Kunci TairHash.

  • field: Elemen dalam kunci TairHash. Satu kunci dapat memiliki beberapa field.

Nilai kembali

  • nil: Kunci tidak ada.

  • Array yang setiap elemennya adalah nilai field: Kunci ada dan semua field yang ditentukan ada.

  • Array yang setiap elemennya adalah nilai field. Elemen untuk field yang tidak ada bernilai nil: Kunci ada tetapi beberapa field yang ditentukan tidak ada.

  • Jika tidak, pesan pengecualian dikembalikan.

Contoh

Jalankan perintah EXHMSET myhash field1 10 field2 var1 terlebih dahulu.

Perintah contoh:

EXHMGET myhash field1 field2

Tanggapan contoh:

1) "10"
2) "var1"

EXHMGETWITHVER

Kategori

Deskripsi

Sintaksis

EXHMGETWITHVER key field [field ...]

Kompleksitas waktu

O(1)

Deskripsi perintah

Mengambil nilai dan versi beberapa field dalam kunci TairHash yang ditentukan.

Opsi

  • Key: Kunci TairHash.

  • field: Elemen dalam kunci TairHash. Satu kunci dapat memiliki beberapa field.

Nilai kembali

  • nil: Kunci tidak ada.

  • Array yang setiap elemennya adalah nilai dan versi field: Kunci ada dan semua field yang ditentukan ada.

  • Array yang setiap elemennya adalah nilai dan versi field. Elemen untuk field yang tidak ada bernilai nil: Kunci ada tetapi beberapa field yang ditentukan tidak ada.

  • Jika tidak, pesan kesalahan dikembalikan.

Contoh

Jalankan perintah EXHMSET myhash field1 10 field2 var1 terlebih dahulu.

Perintah contoh:

 EXHMGETWITHVER myhash field1 field2

Tanggapan contoh:

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

EXHLEN

Kategori

Deskripsi

Sintaksis

EXHLEN key [NOEXP]

Kompleksitas waktu

O(1) jika opsi NOEXP tidak ditentukan. O(N) jika opsi NOEXP ditentukan.

Deskripsi perintah

Mengambil jumlah field dalam kunci TairHash yang ditentukan. Perintah ini tidak memicu eviction pasif atau menyaring field yang telah kedaluwarsa. Oleh karena itu, hasilnya mungkin mencakup field yang telah kedaluwarsa tetapi belum dihapus. Untuk mengembalikan hanya jumlah field yang belum kedaluwarsa, tentukan opsi NOEXP.

Opsi

  • Key: Kunci TairHash.

  • NOEXP: Secara default, perintah ini tidak memicu eviction pasif atau menyaring field yang telah kedaluwarsa. Hasilnya mungkin mencakup field yang telah kedaluwarsa tetapi belum dihapus. Untuk mengembalikan hanya jumlah field yang belum kedaluwarsa, tentukan opsi NOEXP. Saat Anda menentukan opsi NOEXP, perhatikan hal berikut:

    • Waktu respons perintah EXHLEN dipengaruhi oleh ukuran kunci TairHash karena seluruh kunci dilalui.

    • Perintah EXHLEN menyaring field yang telah kedaluwarsa dari hasil, tetapi field yang telah kedaluwarsa tersebut tidak di-evict.

Nilai kembali

  • 0: Kunci atau field tidak ada.

  • Jumlah field: Operasi berhasil.

  • Jika tidak, pesan kesalahan dikembalikan.

Contoh

Perintah contoh:

EXHLEN myhash

Tanggapan contoh:

(integer) 2

EXHEXISTS

Kategori

Deskripsi

Sintaksis

EXHEXISTS key field

Kompleksitas waktu

O(1)

Deskripsi perintah

Memeriksa apakah field yang ditentukan ada dalam kunci TairHash.

Opsi

  • Key: Kunci TairHash.

  • field: Elemen dalam kunci TairHash. Satu kunci dapat memiliki beberapa field.

Nilai kembali

  • 0: Kunci atau field tidak ada.

  • 1: Field ada.

  • Jika tidak, pesan kesalahan dikembalikan.

Contoh

Perintah contoh:

EXHEXISTS myhash field1

Nilai kembali contoh:

(integer) 1

EXHSTRLEN

Kategori

Deskripsi

Sintaksis

EXHSTRLEN key field

Kompleksitas waktu

O(1)

Deskripsi perintah

Mengambil panjang nilai field dalam kunci TairHash yang ditentukan.

Opsi

  • Key: Kunci TairHash.

  • field: Elemen dalam kunci TairHash. Satu kunci dapat memiliki beberapa field.

Nilai kembali

  • 0: Kunci atau field tidak ada.

  • Panjang nilai: Kueri berhasil.

  • Jika tidak, pesan kesalahan yang sesuai dikembalikan.

Contoh

Perintah contoh:

EXHSTRLEN myhash field1

Nilai kembali contoh:

(integer) 2

EXHKEYS

Kategori

Deskripsi

Sintaksis

EXHKEYS key

Kompleksitas waktu

O(N)

Deskripsi perintah

Mengambil semua field dalam kunci TairHash yang ditentukan.

Opsi

  • Key: Kunci TairHash.

Nilai kembali

  • Array kosong: Kunci tidak ada.

  • Jika kunci ada, nilai yang dikembalikan adalah array yang elemen-elemennya sesuai dengan field dalam TairHash.

  • Jika tidak, pesan kesalahan dikembalikan.

Contoh

Jalankan perintah EXHMSET myhash field1 10 field2 var1 terlebih dahulu.

Perintah contoh:

EXHKEYS myhash

Nilai kembali contoh:

1) "field1"
2) "field2"

EXHVALS

Kategori

Deskripsi

Sintaksis

EXHVALS key

Kompleksitas waktu

O(N)

Deskripsi perintah

Mengambil nilai semua field dalam kunci TairHash yang ditentukan.

Opsi

  • Key: Kunci TairHash.

Nilai kembali

  • Jika kunci tidak ditemukan, array kosong dikembalikan.

  • Array yang setiap elemennya adalah nilai field dalam kunci TairHash: Kunci ada.

  • Jika tidak, pesan kesalahan dikembalikan.

Contoh

Jalankan perintah EXHMSET myhash field1 10 field2 var1 terlebih dahulu.

Perintah contoh:

EXHVALS myhash

Nilai kembali contoh:

1) "10"
2) "var1"

EXHGETALL

Kategori

Deskripsi

Sintaksis

EXHGETALL key

Kompleksitas waktu

O(N)

Deskripsi perintah

Mengambil semua field beserta nilainya dalam kunci TairHash yang ditentukan.

Opsi

  • Key: Kunci TairHash.

Nilai kembali

  • Array kosong: Kunci tidak ada.

  • Array yang setiap elemennya adalah pasangan field-nilai dalam kunci TairHash: Kunci ada.

  • Jika tidak, pesan kesalahan dikembalikan.

Contoh

Jalankan perintah EXHMSET myhash field1 10 field2 var1 terlebih dahulu.

Perintah contoh:

EXHGETALL myhash

Tanggapan contoh:

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

EXHSCAN

Kategori

Deskripsi

Sintaksis

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

Kompleksitas waktu

O(1) untuk setiap panggilan, dan O(N) untuk traversal penuh.

Deskripsi perintah

Memindai kunci TairHash yang ditentukan.

Catatan

Perintah ini hanya didukung untuk instans optimasi memori.

Opsi

  • key: Kunci TairHash.

  • op: Titik awal pemindaian. Nilai yang valid:

    • >: Dimulai dari field pertama yang lebih besar dari subkey.

    • >=: Dimulai dari field pertama yang lebih besar dari atau sama dengan subkey.

    • <: Dimulai dari field pertama yang lebih kecil dari subkey.

    • <=: Dimulai dari field pertama yang lebih kecil dari atau sama dengan subkey.

    • ==: Dimulai dari field pertama yang sama dengan subkey.

    • ^: Dimulai dari field pertama.

    • $: Dimulai dari field terakhir.

  • subkey: Digunakan bersama opsi op untuk menetapkan posisi awal pemindaian. Nilai ini diabaikan ketika op diatur ke ^ atau $.

  • MATCH: Menyaring hasil pemindaian berdasarkan pola ekspresi reguler yang ditentukan untuk subkey.

  • COUNT: Jumlah field yang dipindai dalam satu operasi. Nilai default adalah 10.

    Catatan

    COUNT menentukan jumlah field yang dipindai setiap kali. Ini tidak menjamin bahwa jumlah field dalam set hasil sama dengan nilai COUNT. Ukuran set hasil bergantung pada jumlah field saat ini dalam kunci TairHash dan apakah opsi MATCH ditentukan untuk penyaringan.

Nilai kembali

  • Jika kunci tidak ada, mengembalikan array kosong.

  • Jika kunci ada, nilai kembali adalah array yang berisi dua elemen:

    • Elemen pertama: Field awal untuk pemindaian berikutnya. Jika pemindaian kunci selesai, elemen ini kosong.

    • Elemen kedua: Hasil pemindaian saat ini, yang mencakup field dan nilai.

  • Jika tidak, pesan kesalahan dikembalikan.

Contoh

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

Perintah contoh:

EXHSCAN myhashkey ^ xx COUNT 3

Nilai kembali contoh:

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

EXHDEL

Kategori

Deskripsi

Sintaksis

EXHDEL key field [field ...]

Kompleksitas waktu

O(1)

Deskripsi perintah

Menghapus field dari kunci TairHash yang ditentukan. Mengembalikan 0 jika kunci atau field tidak ada. Mengembalikan 1 jika penghapusan berhasil.

Opsi

  • Key: Kunci TairHash.

  • field: Elemen dalam kunci TairHash. Satu kunci dapat memiliki beberapa field.

Nilai kembali

  • 0: Kunci atau field tidak ada.

  • 1: Penghapusan berhasil.

  • Jika tidak, pesan kesalahan dikembalikan.

Contoh

Perintah contoh:

EXHDEL myhash field1

Nilai kembali contoh:

(integer) 1

FAQ

  • Q: Mengapa exHash menggunakan lebih banyak memori dibandingkan hash standar dari Redis Open-Source Edition untuk data yang sama?

    A: exHash memungkinkan Anda menetapkan waktu kedaluwarsa dan versi untuk setiap field secara individual. Hal ini memerlukan penyimpanan metadata tambahan dalam struktur data, sehingga mengakibatkan penggunaan memori yang lebih tinggi dibandingkan hash standar dari Redis Open-Source Edition.