Pengertian Redis
Redis adalah penyimpanan data dalam memori sumber terbuka yang berfungsi sangat baik sebagai cache atau message broker, tetapi juga dapat digunakan sebagai database saat kita tidak memerlukan semua fitur database tradisional. Selain itu, Redis mendukung atomic operations, untuk skenario caching di mana kita memerlukan waktu yang cepat untuk mengakses data.Redis dibuat oleh Salvatore Sanfilippo pada tahun 2006 dan ditulis dalam bahasa C.
Database dalam memori adalah jenis database yang menyimpan data seluruhnya di memori utama (RAM) dari pada di disk. Database dalam memori dirancang untuk menyediakan akses yang cepat ke data, dengan memanfaatkan kecepatan tinggi pada memori utama, yang beberapa kali lipat lebih cepat daripada penyimpanan disk. Basisdata dalam memori, biasanya digunakan dalam aplikasi yang memerlukan akses cepat ke sejumlah besar data, seperti analitik real-time, game online, e-commerce, dan media sosial. Dan juga digunakan dalam aplikasi yang membutuhkan kinerja dan skalabilitas tinggi , karena basis data dalam memori dapat menangani volume data dan transaksi yang tinggi tanpa memerlukan kinerja yang besar. Salah satu kelemahan utama database dalam memori adalah database tersebut lebih sensitif terhadap kehilangan data jika terjadi crash atau shutdown, karena data disimpan seluruhnya dalam memori dan tidak disimpan ke disk. Untuk mengatasi masalah ini, banyak database dalam memori, termasuk Redis, menyediakan fitur seperti persistensi dan replikasi, yang memungkinkan data disimpan ke disk dan direplikasi di beberapa server untuk memastikan ketahanan dan ketersediaan data.
Persistensi Redis
Persistensi Redis merupakan fitur database Redis yang memungkinkan data disimpan ke disk dan dipulihkan jika terjadi crash atau shutdown. Secara default, Redis menyimpan data dalam memori, yang berarti data tersebut hilang saat server Redis dimatikan atau dimulai ulang. Persistensi Redis memungkinkan data untuk disimpan ke disk dan dipulihkan saat server Redis dinyalakan kembali, memastikan bahwa data tidak hilang jika terjadi crash atau shutdown. Persistensi redis dapat dikonfigurasi dalam beberapa cara, tergantung pada kebutuhan aplikasi. Bentuk persistensi yang paling sederhana adalah snapshotting, yang melibatkan penyimpanan seluruh kumpulan data Redis ke disk secara berkala. Pendekatan ini cepat dan efisien, tetapi dapat mengakibatkan hilangnya data jika server Redis mogok saat snapshot. Bentuk lain dari persistensi adalah persistensi append-only file (AOF), yang melibatkan penyimpanan setiap operasi penulisan ke file log pada disk. Pendekatan ini memberikan daya tahan yang lebih baik daripada snapshotting, karena memungkinkan server Redis membuat ulang kumpulan data dengan memutar ulang file log jika terjadi kerusakan. Namun, ini bisa lebih lambat dan lebih intensif daripada snapshotting.
Keuntungan Redis
- Speed: Redis sangat cepat. sehingga dapat melakukan 110.000 SET per detik dan 81.000 GET per detik.
- Supports rich data types: Redis mendukung sebagian besar tipe data, seperti list, set, sorted set dan hash. itu memberi banyak fleksibilitas
- Operations atomic: Ini memastikan bahwa jika dua klien mengakses data secara bersamaan, server Redis akan menerima nilai yang diperbarui.
- Penggunaan yang serbaguna: Redis dapat digunakan untuk caching, messaging-queues, dan short-lived seperti sesi aplikasi web.
- Easy to set up: Redis mudah dikonfigurasi