Fleksibilitas Redis terlihat melalui kemampuannya menangani struktur data yang kompleks. Dua perintah yang paling kuat dalam hal ini adalah LPUSH
dan RPUSH
, yang masing-masing menambahkan elemen ke ujung kiri dan kanan daftar.
1. LPUSH dan RPUSH
Redis's versatility shines through its ability to handle complex data structures. Two of the most powerful commands in this regard are LPUSH
and RPUSH
, which respectively add elements to the left and right ends of a list.
> LPUSH my_list "element1"
(integer) 1
> RPUSH my_list "element2"
(integer) 2
> LRANGE my_list 0 -1
1) "element1"
2) "element2"
Perintah ini berperan penting dalam skenario ketika Anda perlu mengelola kumpulan data yang dipesan.
2. LPOP dan RPOP
Untuk melengkapi perintah penambahan daftar, Redis menyediakan LPOP
dan RPOP
, yang masing-masing menghapus dan mengembalikan elemen pertama dan terakhir dari sebuah daftar.
> LPOP my_list
"element1"
> RPOP my_list
"element2"
Perintah-perintah ini sangat berguna ketika mengimplementasikan antrian atau tumpukan.
3. SADD dan SMEMBERS
Redis sets are collections of unique elements. SADD
adds one or more members to a set, while SMEMBERS
retrieves all the members of a set.
> SADD my_set "member1"
(integer) 1
> SADD my_set "member2"
(integer) 1
> SMEMBERS my_set
1) "member1"
2) "member2"
Kumpulan sangat berguna untuk skenario yang memerlukan pengujian keanggotaan atau penyimpanan data unik.
4. ZADD dan ZRANGE
Set yang diurutkan di Redis menyediakan koleksi elemen unik yang terurut. ZADD
menambahkan elemen dengan skor tertentu, sementara ZRANGE
mengambil elemen dalam rentang tertentu.
> ZADD my_sorted_set 1 "element1"
(integer) 1
> ZADD my_sorted_set 2 "element2"
(integer) 1
> ZRANGE my_sorted_set 0 -1 WITHSCORES
1) "element1"
2) "1"
3) "element2"
4) "2"
Set yang diurutkan sangat baik untuk skenario yang memerlukan pengambilan data berurutan.
5. HSET dan HGET
Hash Redis adalah peta antara nama field string dan nilai string. HSET
menetapkan nilai field dalam hash, sementara HGET
mengambil nilai field.
> HSET my_hash field1 "value1"
(integer) 1
> HSET my_hash field2 "value2"
(integer) 1
> HGET my_hash field1
"value1"
Hash ideal untuk skenario yang melibatkan data terstruktur.
6. PUBLISH dan SUBSCRIBE
Redis unggul tidak hanya dalam penyimpanan data tetapi juga dalam pengiriman pesan real-time. Perintah PUBLISH
memungkinkan klien mengirim pesan ke saluran, sedangkan perintah SUBSCRIBE
memungkinkan klien mendengarkan pesan di saluran.
# Terminal 1
> SUBSCRIBE my_channel
Reading messages... (press Ctrl-C to quit)
1) "subscribe"
2) "my_channel"
3) (integer) 1
# Terminal 2
> PUBLISH my_channel "Hello, Redis!"
(integer) 1
Fitur ini sangat berharga untuk membangun aplikasi real-time dan arsitektur berbasis peristiwa.
7. SCAN
Meskipun bukan perintah untuk manipulasi data langsung, perintah SCAN
penting untuk melakukan iterasi kunci dalam database Redis tanpa memblokir server. Ini memberikan pendekatan berbasis kursor untuk mencegah kelebihan beban pada sistem.
> SCAN 0
1) "0"
2) 1) "my_list"
2) "my_set"
3) "my_sorted_set"
4) "my_hash"
5) "my_channel"
Perintah ini sangat penting untuk operasi yang melibatkan kumpulan data besar.
Eksekusi Perintah di Navicat 16 untuk Redis
Sementara Anda dapat menyelesaikan hampir semua yang Anda perlukan menggunakan GUI intuitif Navicat, Anda dapat mengeluarkan perintah langsung ke Redis melalui window Konsol. Ini dapat diakses melalui perintah Tools->Console pada menu utama atau tombol Console pada toolbar utama:
Berikut adalah beberapa sampel output yang diproduksi oleh perintah SCAN yang kita pelajari di atas:
Pemikiran Terakhir mengenai Perintah Redis
Perintah Redis jauh melampaui operasi key value yang telah kita jelajahi di entry blog terbaru. Dengan menguasai perintah tingkat lanjut ini untuk bekerja dengan struktur data, set, set yang diurutkan, hash, dan bahkan perpesanan real-time, Anda dapat memanfaatkan potensi penuh Redis untuk berbagai aplikasi. Baik Anda membangun lapisan caching, mengimplementasikan antrian, atau mengembangkan aplikasi real-time, Navicat 16 for Redis menyediakan serangkaian alat canggih untuk memenuhi kebutuhan Anda.