Redis adalah open source, BSD berlisensi, advanced key-value store. Hal ini sering disebut sebagai struktur data server, karena key dapat berisi string, hash, lists, sets and sorted sets. Redis ditulis dalam bahasa pemogranab C. Tutorial ini memberikan pemahaman yang baik tentang konsep Redis, yang dibutuhkan untuk membuat dan menerapkan sistem yang sangat terukur dan berorientasi pada kinerja.
Redis adalah struktur data pada server. Hal ini tentunya membuatnya lebih lambat daripada hanya sekedar menyimpan data pada memori lokal. Namun Redis juga memiliki beberapa hal yang menarik, antara lain :
- Redis bisa diakses oleh semua proses dari aplikasi yang Anda bangun.
- Penyimpanan dalam memori oleh Redis sangat efisien dan dilakukan dalam proses yang terpisah. Jika aplikasi berjalan pada platform atau bahasa pemrograman yang boros akan memori, Redis memungkinkan penanganan alokasi memori yang jauh lebih besar.
- Redis dapat bertahan dalam disk jika dibutuhkan.
- Redis sedikit lebih luas dari cache yang sederhana, Redis menyediakan berbagai struktur data.
- Redis bisa meniru aktivitas dengan mekanisme master/slave untuk mengimplementasikan high-availability dari sebuah aplikasi.
Redis adalah open source, advanced key-value store dan solusi tepat untuk membangun web dengan kinerja yang tinggi.
Redis memiliki tiga kekhasan utama yang membedakannya.
- Redis menyimpan database-nya sepenuhnya di memori, menggunakan disk hanya untuk seperlunya.
- Redis memiliki tipe data yang relatif kaya atau banyak, bila dibandingkan dengan banyak database lainnya.
- Redis bisa mereplikasi data.
Keuntungan Redis
Berikut ini beberapa keunggulan Redis.
- Sangat cepat - Redis sangat cepat dan bisa melakukan sekitar 110000 SET per detik, sekitar 81000 GET per detik.
- Mendukung tipe data yang kaya - Redis secara native mendukung sebagian besar tipe data yang telah diketahui pengembang seperti list, set, sorted, dan hash yang diurutkan. Hal ini memudahkan pemecahan berbagai masalah sebagai mana kita tahu masalah yang bisa ditangani dengan lebih baik dengan tipe data.
- Operasi bersifat atom - Semua operasi Redis bersifat atom, yang memastikan bahwa jika dua klien mengakses secara bersamaan, server Redis akan menerima nilai yang diperbarui.
- Multi-utility tool - Redis memiliki multi-utility tool dan dapat digunakan dalam sejumlah kasus penggunaan seperti caching, messaging-queues (Redis native mendukung Publish / Subscribe), data singkat dalam aplikasi Anda, seperti web sessions aplikasi, web page hit counts, dll.
Perbandingan Redis dengan Other Key-value Stores
- Redis adalah jalur evolusi yang berbeda dalam DB-nilai kunci, di mana nilai dapat berisi tipe data yang lebih kompleks, dengan operasi atom yang didefinisikan pada tipe data tersebut.
- Redis adalah database dalam memori tapi tetap pada basis data disk, oleh karena itu merupakan trade off yang berbeda dimana kecepatan tulis dan baca yang sangat tinggi dicapai dengan keterbatasan kumpulan data yang tidak boleh lebih besar dari pada memori.
- Keuntungan lain dari database memori adalah bahwa representasi memori dari struktur data kompleks jauh lebih sederhana untuk dimanipulasi dibandingkan dengan struktur data yang sama pada disk. Dengan demikian, Redis bisa melakukan banyak hal dengan sedikit kompleksitas internal.
5 Faktor Penting Dalam Redis
- Memory : karena Redis ibarat database yang ditempatkan di memori, RAM mungkin sumber daya yang terbatas.
- Koneksi : setiap operasi dikirim ke Redis dalam konteks koneksi dari aplikasi klien. Tentunya jumlah koneksi secara bersamaan ke server Redis tentu selalu terbatas.
- Cache hit ratio : Redis dapat digunakan sebagai cache yang cerdas dengan konfigurasi menggunaan memori yang baik.
- Evictions : jika hit ratio dari cache Anda turun, mungkin relokasi memori telah menyebabkan terhapusnya data dari Redis.
- Expired objects : karena relokasi memori menyebabkan memori untuk Redis habis, Anda mungkin tidak mengatur waktu kadaluarsa dari key Redis.