# REDIS Redis menggunakan Ram menjadi penyimpanannya. Digunakan karena database utama seperti postgre mengeksekusi query yang berat dengan waktu yang lama. Hasil query dari postgre bisa di simpan sementara di redis. Agar saat ada request yang sama, db utama tidak perlu melakukan query yang berat lagi. Cukup menggunakan data yang sudah di simpan di redis. Ini sangat membantu untuk meningkatkan performa aplikasi kita. #### Masuk ke redis server menggunakan redis cli ``` redis-cli redis-cli -h localhost -p 6379 ``` #### Contoh query dasar ``` set nama1 'sarginsu' get nama1 exists nama1 del nama1 append nama1 ' ginting' keys * ``` #### Multiple set dan get ``` mset nama2 'elgio' nama3 'emya' mget nama2 nama3 ``` #### Pindah DB `DB default adalah 0.` ``` select 1 ``` #### Expiration `Untuk membuat waktu hidup dari data.` `Waktu di catat dengan 'detik'` ``` expire nama1 60 setex nama1 60 'sarman ginting' ttl nama1 ``` #### Increment dan Decrement `Untuk menambah dan mengurangi value suatu key. Data yang di simpan harus berbentuk string int` ``` incr no decr no incrby no 10 decrby no 10 ``` #### Flush `Gunanya untuk menghapus data.` ``` flushdb flushall ``` #### Pipeline `Menjalankan banyak query dalah 1 eksekusi. Cocok di gunakan untuk migrasi data dari DB utama.` ``` cat sets.txt | redis-cli --pipe ``` `Contoh data sets.txt` ``` set 1 1 set 2 2 set 3 3 set 4 4 set 5 5 ``` #### Transaction `Di awali perintah multi. exec & discard sama seperti commit dan roolback di sql.` ``` multi exec discard ``` #### Monitor `Berguna saat debug. Mirip seperti log.` ``` monitor ``` #### Server information `Berguna saat debug. Mirip seperti log.` ``` info config get * slowlog get ``` #### Client connection `Melihat info atau kill client yang sedang terkoneksi ke redis server.` ``` client list client id client kill ip_client:port ``` #### Backup `Backup file dari ram ke hardisk` ``` save savebg ``` #### User & Password (Config) ``` https://www.youtube.com/watch?v=VSuli0vwMuA&list=PL-CtdCApEFH-7hBhz1Q-4rKIQntJoBNX3&index=19&ab_channel=ProgrammerZamanNowProgrammerZamanNow ``` #### Github ``` https://github.com/ProgrammerZamanNow/belajar-redis ```