Merah adalah akronim untuk R emote d server ikioner. Ini adalah basis data / penyimpanan nilai kunci sumber terbuka, dalam memori, dan persisten yang menyimpan data sebagai pasangan nilai kunci dan juga berfungsi ganda sebagai perantara pesan. Redis mendukung beragam struktur data termasuk set , daftar , hash , string , HyperLogLog dan masih banyak lagi.
Apa yang dimaksud dengan pasangan nilai kunci?
Pasangan nilai kunci adalah satu set atau sepasang dua item yang terhubung. Pertimbangkan hal berikut:
mobil =Mercedes
Dalam hal ini, mobil adalah kuncinya dan Mercedes adalah nilainya. Dalam database Redis, informasi ini dapat ditulis menggunakan sintaks:
SET “kunci1” “nilai1”
Contoh kita akan diterjemahkan menjadi:
SETEL “mobil” “Mercedes”
Manfaat menggunakan Redis
- Tidak seperti database relasional seperti MySQL, Redis adalah database NoSQL yang menyimpan data sebagai pasangan nilai kunci. Ini membuatnya sederhana dan fleksibel karena tidak perlu membuat tabel, kolom, dan baris apa pun yang terkait dengan database relasional. Mengumpankan data ke Redis sederhana dan mudah.
- Salah satu kegunaan Redis adalah penggunaannya sebagai sistem caching. Saat melakukannya, ia juga menawarkan kegigihan pada data yang ditulis di dalamnya.
- Arsitektur dalam memori Redis membuatnya sangat cepat dalam penyimpanan dan pengambilan data.
- Sistem cache redis cukup kuat dan memiliki kapasitas untuk menahan kegagalan dan gangguan.
- Redis dikirimkan dengan fitur replikasi Master-Slave. Saat perubahan dibuat pada node master, perubahan tersebut secara otomatis direplikasi pada node slave untuk memastikan ketersediaan yang tinggi.
- Redis memiliki kemampuan untuk menyimpan pasangan kunci &nilai yang besar hingga 512 MB.
- Mengingat ukurannya yang kecil, Redis dapat diinstal di perangkat IoT seperti Raspberry Pi dan Arduino untuk mendukung aplikasi IoT.
- Redis adalah database lintas platform dan sistem caching yang dapat diinstal di Windows , mac dan Linux.
Kasus Penggunaan Redis
Dengan manfaat yang diuraikan di atas, Redis dapat digunakan dengan cara berikut:
- Analisis data statistik waktu nyata.
- Digunakan untuk integrasi dengan layanan AWS seperti instans CloudTrail, CloudWatch, dan Amazon EC2.
- Ini bisa menjadi opsi yang sangat baik untuk menyimpan situs web.
- Platform media sosial seperti Instagram menggunakan Redis untuk menyimpan gambar
- Redis mendukung berbagai jenis data seperti hyperloglog, hash, dan data geospasial.
Sekarang mari kita lihat bagaimana Anda dapat menginstal Redis di CentOS 8 / RHEL 8
Langkah 1:Perbarui repositori sistem
Masuk ke sistem CentOS 8 / RHEL 8 Anda dan perbarui paket sistem dan repositori menggunakan perintah:
$ sudo dnf update -y
Langkah 2:Instal Redis dengan dnf
Redis versi 5.0.x sekarang termasuk dalam repositori CentOS 8 AppStream dan menginstalnya sangat mudah. Cukup jalankan perintah:
$ sudo dnf install redis -y
Setelah diinstal, Anda dapat memverifikasi versi Redis yang diinstal dengan menjalankan perintah:
[[email protected] ~]$ rpm -q redis redis-5.0.3-1.module_el8.0.0+6+ab019c03.x86_64 [[email protected] ~]$
Dari output tersebut terlihat bahwa kita telah menginstal Redis versi 5.0.3. Untuk mengambil informasi lebih lanjut tentang Redis seperti versi, arsitektur, lisensi, dan deskripsi singkat, jalankan perintah:
$ rpm -qi redis
Untuk memulai dan mengaktifkan layanan Redis, jalankan perintah systemctl berikut:
$ sudo systemctl start redis $ sudo systemctl enable redis
Setelah dimulai, Anda dapat memverifikasi statusnya dengan menjalankan
$ sudo systemctl status redis
Secara default, Redis berjalan pada port 6379. Anda dapat mengonfirmasi ini dengan menjalankan perintah netstat:
$ sudo netstat -pnltu | grep redis
Langkah 3:Konfigurasi Redis untuk akses jarak jauh
Instalasi default hanya mengizinkan koneksi dari localhost atau server Redis dan memblokir koneksi eksternal apa pun. Kami akan mengonfigurasi Redis untuk koneksi jarak jauh dari mesin klien.
Akses file konfigurasi seperti yang ditunjukkan:
$ sudo vim /etc/redis.conf
Cari parameter bind dan ganti 127.0.0.1 dengan 0.0.0.0
bind 0.0.0.0
Simpan dan tutup file konfigurasi. Agar perubahan diterapkan, mulai ulang Redis.
$ sudo systemctl restart redis
Untuk masuk ke shell Redis, jalankan perintah:
$ redis-cli
Coba ping server redis. Anda akan mendapatkan respons 'PONG' seperti yang ditunjukkan.
[[email protected] ~]$ redis-cli 127.0.0.1:6379> ping PONG 127.0.0.1:6379>
Langkah 4:Mengamankan Server Redis
Pengaturan Redis kami memungkinkan siapa saja untuk mengakses shell dan database tanpa otentikasi yang menimbulkan risiko keamanan besar. Untuk mengatur kata sandi, kembali ke file konfigurasi /etc/redis.conf
Cari dan batalkan komentar pada parameter requirepass dan tentukan kata sandi yang kuat seperti yang ditunjukkan
Mulai ulang Redis dan kembali ke server.
$ sudo systemctl restart redis
Jika Anda mencoba menjalankan perintah apa pun sebelum mengautentikasi, kesalahan yang ditunjukkan di bawah ini akan ditampilkan
[[email protected] ~]$ redis-cli 127.0.0.1:6379> ping (error) NOAUTH Authentication required. 127.0.0.1:6379>
Untuk mengautentikasi, ketik 'auth' diikuti dengan set kata sandi. Dalam kasus kami ini akan menjadi :
auth [dilindungi email]
Setelah itu, Anda dapat melanjutkan menjalankan perintah Anda.
[[email protected] ~]$ redis-cli 127.0.0.1:6379> auth [email protected] OK 127.0.0.1:6379> ping PONG 127.0.0.1:6379>
Untuk keluar dari redis-cli, ketik exit
Langkah 5:Konfigurasi firewall untuk redis
Terakhir, kita perlu mengkonfigurasi firewall untuk mengizinkan koneksi jarak jauh ke server Redis. Untuk melakukan ini, kita perlu membuka port redis yaitu 6379.
Jadi, jalankan perintah di bawah ini.
$ sudo firewall-cmd --add-port=6379/tcp --permanent $ sudo firewall-cmd --reload
Untuk mengakses Redis dari jarak jauh, gunakan sintaks di bawah ini.
$ redis-cli -h REDIS_IP_ADDRESS
Selanjutnya autentikasi dan tekan 'ENTER '
Alamat IP server Redis kami adalah 192.168.1.5 Perintah dari PC klien lain adalah
$ redis-cli -h 192.168.1.5
Selanjutnya, berikan kata sandi dan tekan 'ENTER'
auth [dilindungi email]
Di atas mengonfirmasi bahwa Redis Server telah berhasil diinstal, mari beralih ke bagian berikutnya.
Cara melakukan Redis Benchmark
Redis hadir dengan alat bawaan yang dikenal sebagai redis-benchmark yang memberikan wawasan tentang statistik kinerja sistem seperti kecepatan transfer data, throughput, dan latensi.
Beberapa opsi perintah yang dapat Anda gunakan dengan Redis termasuk
- -n: Ini menentukan jumlah permintaan yang harus dibuat. Standarnya adalah 100000
- -c: Menentukan jumlah koneksi paralel yang akan disimulasikan. Secara default, nilai ini adalah 50
- -p: Ini adalah port Redis yang secara default adalah 6379
- -h: Digunakan untuk menentukan host. Secara default, nilai ini disetel ke localhost (127.0.0.1)
- -a: Digunakan untuk meminta sandi jika server memerlukan autentikasi
- -q: Singkatan dari mode senyap. Menampilkan rata-rata permintaan yang dibuat per detik
- -t: Digunakan untuk menjalankan kombinasi pengujian
- -P: Digunakan untuk pipelining guna meningkatkan performa.
- -d:Menentukan ukuran data dalam byte untuk nilai GET dan SET. Secara default, ini disetel ke 3 byte
Contoh:
Untuk mengkonfirmasi rata-rata no. permintaan yang dapat ditangani oleh server Redis Anda, jalankan perintah:
$ redis-benchmark -q
Perhatikan baris terakhir. Ini menunjukkan bahwa Redis dapat menangani 23046 permintaan per detik.
Selain itu, Anda dapat menggunakan opsi -t untuk menjalankan subset perintah. Dalam contoh di bawah ini, kami menggunakannya untuk menampilkan rata-rata no. permintaan untuk perintah SET dan GET.
$ redis-benchmark -t set,dapatkan -q
[[email protected] ~]$ redis-benchmark -t set,get -q SET: 26102.84 requests per second GET: 25555.84 requests per second [[email protected] ~]$
Dari output, kita dapat melihat bahwa kita memiliki 26102.84 permintaan per detik untuk perintah SET dan 25555.84 permintaan untuk perintah GET.
Secara default, jumlah koneksi paralel adalah 50 . Untuk menentukan jumlah koneksi klien yang berbeda, katakanlah 1000, gunakan parameter -c seperti yang ditunjukkan:
[[email protected] ~]$ redis-benchmark -t set,get -q -c 1000 SET: 21997.36 requests per second GET: 22119.00 requests per second [[email protected] ~]$
Seperti yang mungkin telah Anda amati, jumlah permintaan per detik telah turun karena peningkatan jumlah koneksi paralel dari 50 menjadi 1000.
Mari tingkatkan dan atur jumlah permintaan menjadi 1000000
[[email protected] ~]$ redis-benchmark -t set,get -q -c 1000 -n 1000000 SET: 16660.28 requests per second GET: 21550.79 requests per second [[email protected] ~]$
Sekali lagi, nilai untuk SET dan GET turun karena peningkatan jumlah permintaan dari default 100.000 menjadi 1.000.000.
Dan ini mengakhiri topik kita hari ini. Kami telah berhasil menginstal server Redis di CentOS 8 dan berhasil melakukan beberapa tes penandaan bangku di server kami. Anda dipersilakan untuk membagikan umpan balik dan komentar Anda.