redis

Sambil Menyelam, Belajar Redis

Pada artikel ini, saya ingin berbagi sedikit yang saya ketahui tentang Redis. Semoga tulisan ini bisa menambah pengalaman para pembaca bersama Redis.

Judul artikel ini tidak bermaksud mengajak belajar Redis di dalam air, tapi saya ingin para pembaca mencoba tutorial yang ada sambil membaca penjelasannya. Betul, sebelum melaksanakan tutorial ini sebaiknya Redis sudah ter-install pada komputer yang digunakan. Di akhir materi ada latihan yang bisa dikerjakan untuk menambah wawasan. Latihan bukan tugas ! Jadi silahkan dikerjakan dengan sukarela.
Ada lima jenis struktur data yang dikenali oleh Redis: strings, hash, list, set, ordered sets. Pada artikel kali ini, kita belajar string dan hash terlebih dahulu.

Semoga artikel Redis dengan bahasa Indonesia ini mudah dimengerti dan bermanfaat.

String

Nilai/isi dari string dapat berupa byte apa saja. String dapat digunakan untuk menyimpan angka, string (nilai yang ditentukan sendiri oleh pengguna), dan lainnya. Perintah string yang paling umum adalah SET dan GET. Redis dapat meyimpan banyak string, selain itu isi dari string juga dapat dimanipulasi sesuai kebutuhan. Contoh dibawah ini adalah salah satu cara menyimpan data penghuni suatu RT ke dalam string :

1
Gambar 1. Perintah SET

Untuk membuat beberapa string sekaligus, kita dapat menggunakan perintah ini:

MSET key1 value1 key2 value2 …. key[n] value[n]

Contoh:

MSET nama_lengkap “mas gusti” telepon “080989999” jumlah_penghuni “10” nomer_rumah “11”

Cara untuk memanggil string menggunakan format GET key. Perhatikan gambar di bawah ini :

2
Gambar 2. Perintah GET

Pada contoh di atas, dapat dilihat bahwa perintah SET digunakan untuk membuat string sedangkan perintah GET digunakan untuk memanggil string yang sudah dibuat. Dari contoh tersebut, yang menjadi key adalah nama_lengkap, telepon, jumlah_penghuni, dan nomer rumah. Sementara value adalah informasi yang dimiliki oleh masing-masing key seperti : mas gusti, 080989999, 10, 11.

###
key adalah semacam pengenal dari string yang di dalamnya terdapat informasi tertentu

value (bisa juga kita sebut sebagai “isi”) adalah informasi yang dimiliki oleh sebuah string. Ukuran maksimal dari sebuah value adalah 512 MB
###

Hati-hati, SET dapat mengubah value (isi) dari sebuah string yang sudah ada. Maksudnya, jika sebelumnya sudah ada string dengan key nama_lengkap yang berisi value “mas gusti”, lalu kita buat lagi string dengan key yang sama namun dengan value “mas gus”, isi dari string tersebut akan diganti dengan yang baru. Begini prakteknya:

3
Gambar 3. Mengubah isi value

Contoh lain memanipulasi string adalah seperti ini :

4
Gambar 4. Manipulasi String

Pada contoh diatas, kita menggunakan beberapa perintah seperti : INCR, INCRBY, DECR, DECRBY, GETSET, dll

Latihan

#Apa yang terjadi setelah perintah berikut ini dijalankan ? Mengapa bisa begitu ?
SET angka “1”
TTL angka

#Apa yang terjadi setelah perintah berikut ini dijalankan ? Mengapa bisa begitu ?
SET angka “1”
SETNX angka 9
GET angka

#Suatu key bernama angka mempunyai value 8. Bagaimana cara mengubah value dari key tersebut menjadi 8.5 ?

#Suatu key bernama angka mempunyai value 8. Apa yang terjadi jika perintah di bawah ini dijalankan ?
APPEND angka 8
GET angka

#Jalankan perintah berikut ini ! Apa fungsi perintah tersebut ?
SET angka 8
INCRBY angka 3
GETSET angka 0

#Dari contoh diatas, munculkan semua string menggunakan perintah MSET !

 

 

Hash

Cara penggunaannya hampir sama seperti string, bedanya hash lebih digunakan untuk memanipulasi field dari suatu key. Kita tidak bisa mengelola field secara satuan menggunakan string. Field pada Redis bisa berupa apa saja. Berikut ini adalah contoh cara menyimpan data penghuni suatu RT ke dalam hash :

5
Gambar 5. Manipulasi Hash

Pada contoh di atas, perintah HMSET digunakan untuk membuat hash. Sama seperti contoh string, key dari hash diatas adalah angka 11 (nomor rumah). Hash tersebut memiliki tiga field dan tiga value. Berikut ini adalah penjelasan tiap perintah yang ada pada contoh diatas:
HMSET key field value : membuat hash
HVALS key : menampilkan semua value dari suatu key
HKEYS key : menampilkan semua field dari suatu key
HGET key field : menampilkan value pada field yang spesifik dari suatu key
HGETALL key : menampilkan semua field dan value dari suatu key
HEXISTS key field : memeriksa field dari suatu key. Server membalas dengan 1 jika ada dan 0 jika tidak ada (integer reply)

###
Bagi yang bingung dengan istilah key, field, dan value; gambar di bawah ini adalah ilustrasi dari penggunaan istilah-istilah tersebut pada tabel.

6
Gambar 6. Penjelasan dengan tabel

###

Apabila kita melakukan HMSET dengan key dan field yang sudah ada tapi value-nya berbeda, maka value yang sebelumnya digantikan dengan yang baru. Jika ingin menambahkan field baru ke dalam suatu key, lakukan HMSET seperti pada contoh di atas dengan field yang baru. Berikut ini adalah praktek dari penjelasan sebelumnya beserta cara menghapus field :

7
Gambar 7. Perintah lain pada Hash

Jika hanya ada satu field yang ingin ditambahkan (seperti contoh di atas), kita bisa menggunakan perintah HSET. [Kalau saya terbiasa menggunakan HMSET untuk menambahkan hash berapa pun field-nya]

Latihan

#Apa perbedaan dari beberapa perintah dibawah ini?
SET gusti {postur: “tinggi”, kulit: “gelap”}
MSET postur “tinggi” kulit “gelap”
HMSET gusti postur “tinggi” kulit “gelap”

 

Daftar perintah Redis bisa dilihat disini.

 

 

Waaw… Keren sekali !

Komentarin dooong...

Your email address will not be published. Required fields are marked *