--- title: Redis description: "Penyimpanan data di memori untuk cache, session, dan antrean. Cepat, tapi butuh strategi eviction dan persistensi." canonical: https://penasihathosting.com/wikihosting/redis type: wiki locale: id updated: 2026-10-29 author: Willya Randika --- # Redis ## Overview - **Summary:** Penyimpanan data di memori untuk cache, session, dan antrean. Cepat, tapi butuh strategi eviction dan persistensi. - **Author:** Willya Randika ([profile](/penulis/willya-randika)) ## Article Redis adalah penyimpanan key-value di memori yang sering dipakai untuk cache, session, rate limit, dan antrean job. Karena data disimpan di RAM, Redis jauh lebih cepat daripada query database untuk pembacaan kecil yang sering. Kecepatan itu datang dengan batas memori dan kebutuhan strategi kedaluwarsa. ## Untuk apa Redis dipakai Cache halaman atau fragmen memakai key seperti `page:/beranda` dengan TTL. Object cache WordPress memakai Redis sebagai backend untuk hasil query. Session disimpan dengan TTL yang sama dengan masa berlaku login. Rate limit memakai counter per IP dalam jendela waktu. Antrean job memakai List, Streams, atau library queue. Redis tidak cocok untuk semua data. Kalau Anda butuh query relasional, laporan, atau transaksi kompleks, tetap gunakan database utama. ## Batasi memori dan eviction Di `redis.conf`, atur `maxmemory` dan `maxmemory-policy`. Untuk cache murni, `allkeys-lru` masuk akal karena key yang jarang dipakai akan dibuang saat memori penuh. Untuk session atau antrean, jangan memakai kebijakan yang membuang data sembarangan. Pertimbangkan `noeviction` dan pantau kapasitas. Periksa penggunaan dengan `redis-cli INFO memory`, `redis-cli DBSIZE`, dan `redis-cli --bigkeys`. Untuk melihat latency, jalankan `redis-cli --latency`. Angka yang naik tiba-tiba bisa berarti jaringan lambat atau ada key besar yang menghambat. ## Persistensi dan keamanan Redis punya RDB dan AOF. RDB cepat untuk backup, tapi bisa kehilangan beberapa menit data terakhir. AOF lebih tahan terhadap kehilangan data dengan biaya I/O lebih besar. Kalau Redis hanya cache, persistensi bisa dimatikan. Kalau menyimpan session atau antrean, aktifkan dan uji restore. Bind Redis ke `127.0.0.1` atau jaringan privat, bukan `0.0.0.0`. Aktifkan password atau ACL, dan jangan expose port `6379` ke internet. Pisahkan instance untuk aplikasi yang berbeda kalau memungkinkan. ## Yang sering terlewat TTL yang tidak diatur membuat cache tumbuh sampai memori penuh. Invalidasi yang tidak lengkap membuat konten lama tetap disajikan setelah update. Terlalu banyak round-trip ke Redis per request juga bisa lebih lambat daripada satu query database yang terindeks. Latency jaringan sering dilupakan. Redis di region berbeda bisa menambah puluhan milidetik. Letakkan dekat aplikasi, dan jangan menganggap Redis pengganti database. Redis melengkapi [object cache](/wikihosting/object-cache) dan [web cache](/wikihosting/web-cache). Kalau aplikasi membuka koneksi database terlalu sering, lihat juga [Connection Pooling](/wikihosting/connection-pooling). ## FAQ Tidak. Situs kecil dengan cache halaman sering tidak membutuhkannya. Redis berguna saat ada banyak query berulang, session, atau WooCommerce dengan trafik tinggi. Tergantung persistensi. Cache bisa dibangun ulang, tapi session atau antrean tanpa persistensi bisa hilang. Uji skenario restart di staging. Biasanya tidak tersedia atau dibatasi. Kalau provider menyediakan, pastikan instance terisolasi dan tidak bisa diakses dari internet.