Belajar Redis: Tipe data String pada Redis

Tipe data String pada dunia pemrograman sangat banyak digunakan. Redis memiliki juga tipe data String untuk menyimpan data string pada umumnya. Pada Redis, tipe data String ini ada batasannya yaitu 512 MB. Lebih dari itu, kawan-kawan tidak bisa menggunakan tipe data ini ya. (kebayang string sampe lebih dari 512 isinya apa ya? hehe)

Sebelumnya, pastikan ya di komputer kawan-kawan terinstall redis untuk mencoba belajar redis bagian tipe data string pada redis ini.

Perintah SET, GET, MSET, MGET

Lanjut ke perintah apa aja yang bisa dipakai di tipe data String ini pada redis. Kawan-kawan tentu bisa menggunakan perintah SET dan GET pada tipe data string ini. Kawan-kawan juga bisa menggunakan MSET dan MGET pada tipe data String pada redis ini.

Contohnya adalah saya membuat tipe data string dengan MSET dan MGET seperti berikut ini.

redis tipe data string 1

Terlihat pada gambar diatas, awalnya kawan-kawan ketik dulu untuk menjalankan redis yaitu redis-cli. Setelah itu saya ketik perintah MSET lalu diikuti dengan KEY yaitu first dan diikuti dengan value yang berisi tipe data String yaitu “ini kalimat pertama”. Setelah value dari KEY first ini, saya tambahkan juga KEY second dengan value “ini kalimat kedua”. Tekan enter sampai tertulis “OK”.

Setelah itu kawan-kawan bisa mengambil data string yang kita set sebelumnya itu dengan perintah MGET dengan beberapa KEY yang telah dibuat. Misalnya saya tulis “MGET first second”. Ketika di enter akan muncul value dari KEY ‘first’ dan KEY ‘second’. Kawan-kawan juga bisa memanggil dengan perintah single GET KEY seperti memanggil dengan GET first atau GET second.

Sesuai dengan namanya MGET dan MSET artinya adalah Multiple GET dan Multiple SET. Kawan-kawan bisa set multiple key dengan MSET dan get multiple key dengan MGET.

Perintah STRLEN

Untuk menghitung jumlah panjang value pada key tertentu, kawan-kawan bisa menggunakan STRLEN. Contohnya bisa seperti berikut:

127.0.0.1:6379> MGET first second
1) "ini kalimat pertama"
2) "ini kalimat kedua"
127.0.0.1:6379> STRLEN first
(integer) 19

Terlihat pada kode diatas, saya panggil STRLEN first. dimana first adalah key dari value “ini kalimat pertama”. Lalu jika dihitung ada 19 karakter ya ๐Ÿ™‚

Perintah SETEX

Kawan-kawan juga bisa menggunakan SETEX. Perintah SETEX pada redis digunakan untuk menge-set value tertentu dengan syarat akan hilang dalam detik yang ditentukan.

SETEX redis

Pada gambar diatas, saya coba set key “kopi” dengan expired time dalam detik yaitu 20 detik lalu diikuti value dari key yang inginkan. Ketika saya panggil GET berkali-kali masih muncul, namun setelah lebih dari 20 detik akan hilang (nil) dari memory. Jadi itulah perintah SETEX pada redis.

Perintah DEL

Setelah kita belajar GET dan SET serta multiplenya, tanpa waktu expired, kita bisa langsung menghapus nilai dari key tertentu. Caranya bagaimana? nah kita bisa menggunakan perintah DEL pada redis.

Perintah DEL Redis

Kawan-kawan bisa lihat saya set key ‘nama’ dengan value ‘adiputra’. Lalu saya coba delete dengan perintah del sebanyak 2 kali. Pada perintah pertama akan mengeluarkan nilai 1, itu tanda proses delete berhasil. Pada perintah kedua mengeluarkan nilai 0 menjadi tanda proses delete gagal. Kenapa bisa gagal? Bener…datanya diawal kan sudah hilang ya..:)

Penasaran masih gak percaya itu sudah dihapus? kawan-kawan bisa panggil dengan perintah GET nama. Apa masih muncul? keluar nil ya ๐Ÿ˜€

Perintah GETSET

Perintah yang sering dilakukan di tipe data string atau juga tipe data lain adalah perintah GETSET. Apa arti perintah GETSET itu ya? Secara sederhana ini adalah proses update value dari key yang ingin kita update. Misalnya gini, kawan-kawan pertama set key ‘nama’ dengan value ‘adiputra’, lalu kawan-kawan ingin mengganti key ‘nama’ menjadi value ‘anas’. Apa yang kawan-kawan lakukan?

Yap, delete key nama, buat key nama baru. Nah dengan perintah GETSET ini, kawan-kawan tidak perlu menghapus key tersebut. Kawan-kawan bisa langsung meng-update data key tersebut dengan perintah GETSET ini.

Perintah GETSET Redis

Jika kawan-kawan lihat gambar diatas, terlihat saya set nama dengan value adiputra, lalu saya getset nama menjadi anas. Terlihat saat GETSET nama anas ada keluaran nama “adiputra” ya. Redis mengeluarkan nilai yang telah di update namun data yang baru akan disimpan pada key ‘nama’. Jika kawan-kawan lihat kembali gambar diatas, Saya ketik GET nama mengeluarkan nilai ‘anas’.

Tanpa perlu menghapus key, kita bisa langsung meng-update nilai key tersebut. Keren!

Kawan-kawan mungkin ada yang bertanya, bagaimana jika memang GETSET key tersebut dalam keadaan key belum ada pada redis? Nah tetep akan meng-set key terbaru dengan value terbaru walaupun key belum ada di redis.

Perintah GETSET jika kosong

Terlihat pada gambar diatas, saya coba GETSET pada key yang kosong pada redis maka mengeluarkan nilai nil, namun tetep ketika kita panggil GET akan mengeluarkan nilai terbaru yang kita set yaitu ‘budi’.

Perintah SETNX

Salah satu perintah menarik lagi yaitu perintah SETNX.

[berlanjut]

Artikel lainnya

Leave a Reply

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

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d bloggers like this: