๐ Ringkasan Eksekutif Modul:
Redis Hash adalah pemetaan antara field bertipe string dengan nilai string (String-to-String Map). Sangat hemat memori untuk merepresentasikan objek.
Redis Hash adalah pemetaan antara field bertipe string dengan nilai string (String-to-String Map). Sangat hemat memori untuk merepresentasikan objek.
1. Konsep Redis Hash
Hash di Redis adalah struktur data berupa pasangan field-value yang tersimpan di bawah satu key utama. Ini sangat cocok untuk merepresentasikan entitas objek di dalam pemrograman (seperti objek User, Product, atau Cart item).
Dibandingkan menyimpan JSON string utuh di String key (yang membutuhkan serialisasi/deserialisasi setiap kali ada 1 atribut berubah), Hash memungkinkan kita mengubah atau mengambil 1 field tertentu saja secara instant ($O(1)$ complexity).
2. Perintah Manipulasi Hash
redis-cli
# Menyetel satu atau beberapa field di dalam Hash
HSET user:100 name "Eko Khannedy" email "[email protected]" age 30 status "active"
# Mengambil nilai 1 field tertentu
HGET user:100 email
# Mengambil beberapa field sekaligus
HMGET user:100 name age
# Mengambil SELURUH field dan value dari Hash
HGETALL user:100
# Menghapus field tertentu di dalam Hash
HDEL user:100 status
# Memeriksa keberadaan field
HEXISTS user:100 email
# Mengambil seluruh nama field (keys) atau nilai (values) saja
HKEYS user:100
HVALS user:100
# Increment nilai numerik di dalam field Hash
HINCRBY user:100 age 1 # Umur menjadi 31
๐ก Keuntungan Efisiensi Memori Hash:
Redis secara internal menggunakan struktur data hemat memori
Redis secara internal menggunakan struktur data hemat memori
ziplist / listpack untuk Hash berukuran kecil (jumlah field < 512). Menyimpan 1.000 objek user di Hash jauh lebih hemat RAM daripada menyimpan 1.000 String key individual!