Redis adalah jarak jauh server struktur data. Ini tentu lebih lambat daripada hanya menyimpan data di memori lokal (karena melibatkan bolak-balik soket untuk mengambil/menyimpan data). Namun, itu juga membawa beberapa properti menarik:
-
Redis dapat diakses oleh semua proses aplikasi Anda, mungkin berjalan pada beberapa node (sesuatu yang tidak dapat dicapai oleh memori lokal).
-
Penyimpanan memori redis cukup efisien, dan dilakukan dalam proses tersendiri. Jika aplikasi berjalan pada platform yang memorinya adalah sampah yang dikumpulkan (node.js, java, dll ...), ini memungkinkan penanganan cache/penyimpanan memori yang jauh lebih besar. Dalam praktiknya, tumpukan yang sangat besar tidak berfungsi dengan baik dengan bahasa yang dikumpulkan sampah.
-
Redis dapat menyimpan data di disk jika diperlukan.
-
Redis sedikit lebih dari sekadar cache sederhana:ia menyediakan berbagai struktur data, berbagai kebijakan penghapusan item, antrian pemblokiran, pub/sub, atomisitas, skrip Lua, dll ...
-
Redis dapat mereplikasi aktivitasnya dengan mekanisme master/slave untuk menerapkan ketersediaan tinggi.
Pada dasarnya, jika Anda memerlukan aplikasi Anda untuk menskalakan beberapa node yang berbagi data yang sama, maka sesuatu seperti Redis (atau penyimpanan kunci/nilai jarak jauh lainnya) akan diperlukan.