Cara Setup Redis untuk WordPress: Object Caching untuk Performa Maksimal

Setup Redis untuk WordPress adalah proses empat langkah: pasang service Redis di server, pasang ekstensi PHP Redis, tambahkan beberapa konstanta ke wp-config.php, lalu aktifkan drop-in object cache lewat plugin Redis Object Cache. Kalau server Anda sudah menjalankan Redis, seluruh proses biasanya selesai kurang dari lima belas menit dan hasilnya langsung terasa di halaman admin serta halaman dinamis yang tidak bisa di-cache penuh.
Yang perlu diluruskan sejak awal: Redis bukan pengganti page cache. Redis menyimpan hasil query database dan objek internal WordPress di memori, sehingga PHP tidak perlu menanyakan hal yang sama ke MySQL berulang kali. Efeknya paling kentara di dashboard admin, halaman kategori dengan banyak taxonomy, halaman keranjang WooCommerce, dan situs dengan ribuan post. Untuk blog statis dengan sepuluh artikel yang sudah dilayani page cache, keuntungannya kecil. Panduan ini menjelaskan cara memasang, cara memverifikasi, dan cara tahu apakah Anda benar-benar butuh Redis.
Apa yang Sebenarnya Dilakukan Redis di WordPress
Setiap kali WordPress memuat sebuah halaman, ia menjalankan puluhan hingga ratusan query ke database untuk mengambil pengaturan situs, metadata post, opsi plugin, term taxonomy, dan data pengguna. WordPress sudah punya mekanisme cache internal bernama object cache, tapi secara bawaan cache itu hanya hidup selama satu request. Begitu halaman selesai dirender, isinya dibuang dan request berikutnya mengulang semua query dari nol.
Persistent object cache mengubah pola itu
Redis menjadikan object cache tersebut persisten. Hasil query yang mahal disimpan di memori dan bisa dipakai lagi oleh request berikutnya, bahkan oleh pengunjung yang berbeda. Semakin banyak plugin dan semakin kompleks struktur konten Anda, semakin besar penghematannya. Situs dengan banyak custom field dan taxonomy sering memangkas jumlah query per halaman secara signifikan setelah Redis aktif.
Beda Redis dan page cache
Page cache menyimpan HTML jadi dan menyajikannya tanpa menjalankan PHP sama sekali. Itu selalu lebih cepat, tapi hanya berlaku untuk halaman yang isinya sama bagi semua orang. Halaman checkout, halaman akun, hasil pencarian internal, dan seluruh dashboard admin tidak boleh masuk page cache. Justru di halaman-halaman itulah Redis bekerja. Dua lapisan ini saling melengkapi, bukan bersaing. Kalau Anda ingin memahami konsep dasar Redis di luar konteks WordPress, artikel setup Redis untuk caching website membahas arsitekturnya lebih umum.
Prasyarat Sebelum Instalasi
Ada tiga hal yang harus dipastikan sebelum menjalankan perintah apa pun.
- Akses ke server. Instalasi Redis butuh akses root atau sudo di VPS. Di shared hosting, Anda bergantung pada apakah provider menyediakannya. Sebagian hosting berbasis cPanel sudah menyediakan Redis lewat menu khusus, sebagian lain sama sekali tidak.
- Ekstensi PHP untuk Redis. WordPress tidak bisa bicara dengan Redis tanpa jembatan. Pilihannya ekstensi phpredis (paling cepat, ditulis dalam C) atau library Predis (murni PHP, lebih lambat tapi tidak butuh kompilasi). Cek dengan
php -m | grep redis. - Backup. Anda akan mengedit
wp-config.php. Simpan salinannya lebih dulu, karena satu titik koma yang hilang cukup untuk membuat seluruh situs blank.
Instalasi Redis Server di VPS
Contoh berikut memakai Ubuntu 22.04 LTS atau 24.04 LTS. Untuk distribusi berbasis RHEL, ganti apt dengan dnf dan nama paket menjadi redis.
sudo apt update
sudo apt install redis-server -y
sudo systemctl enable --now redis-server
redis-cli ping
Jika perintah terakhir menjawab PONG, service sudah berjalan. Selanjutnya pasang ekstensi PHP sesuai versi PHP yang dipakai situs Anda. Untuk PHP 8.2 atau 8.3, paketnya biasanya bernama php-redis dan otomatis mengaitkan ke versi PHP aktif.
sudo apt install php-redis -y
sudo systemctl restart php8.3-fpm
php -m | grep redis
Menyetel Redis agar aman dan tidak boros memori
Buka /etc/redis/redis.conf dan pastikan tiga hal. Pertama, bind 127.0.0.1 ::1 supaya Redis hanya mendengarkan koneksi lokal dan tidak terekspos ke internet. Kedua, setel maxmemory ke porsi wajar dari RAM server, misalnya 256 MB untuk VPS 2 GB. Ketiga, setel maxmemory-policy allkeys-lru agar Redis membuang key paling jarang dipakai saat penuh, bukan menolak penulisan baru.
maxmemory 256mb
maxmemory-policy allkeys-lru
requirepass GantiDenganPasswordPanjangAnda
appendonly no
Setelah menyimpan, jalankan sudo systemctl restart redis-server. Kalau Anda mengaktifkan requirepass, catat password itu karena akan dipakai di wp-config.php. Menonaktifkan appendonly masuk akal untuk object cache, sebab isinya memang boleh hilang saat server restart dan WordPress akan membangunnya ulang sendiri.
bind tidak dibatasi ke localhost, pastikan firewall menutup port 6379 dari luar.Menghubungkan WordPress ke Redis
Tambahkan konstanta berikut ke wp-config.php, tepat di atas baris komentar yang menandai akhir pengeditan. Ganti nilai prefix dengan sesuatu yang unik untuk situs ini.
define( 'WP_REDIS_HOST', '127.0.0.1' );
define( 'WP_REDIS_PORT', 6379 );
define( 'WP_REDIS_PASSWORD', 'GantiDenganPasswordPanjangAnda' );
define( 'WP_REDIS_DATABASE', 0 );
define( 'WP_REDIS_PREFIX', 'situssaya_' );
define( 'WP_REDIS_TIMEOUT', 1 );
define( 'WP_REDIS_READ_TIMEOUT', 1 );
Konstanta WP_REDIS_PREFIX wajib berbeda untuk setiap situs kalau satu server menampung banyak WordPress. Tanpa prefix unik, dua situs bisa saling menimpa key dan Anda akan melihat data situs A muncul di situs B. Alternatif lain adalah memberi nomor database berbeda lewat WP_REDIS_DATABASE, tapi prefix lebih fleksibel karena jumlah database Redis terbatas.
Memasang plugin dan mengaktifkan drop-in
Plugin Redis Object Cache adalah pilihan paling umum karena ringan dan punya panel diagnostik bawaan. Pasang lewat menu Plugins seperti biasa, prosesnya sama dengan yang dijelaskan di panduan cara install plugin WordPress. Setelah aktif, buka Settings lalu Redis dan klik tombol Enable Object Cache. Plugin akan menyalin file object-cache.php ke folder wp-content/. File itulah yang sebenarnya bekerja, plugin hanya menjadi antarmuka pengatur.
Kalau Anda lebih suka baris perintah dan WP-CLI sudah terpasang, tiga perintah ini menyelesaikan semuanya:
wp plugin install redis-cache --activate
wp redis enable
wp redis status
Verifikasi Cache Benar-benar Bekerja
Status Connected di dashboard plugin belum membuktikan cache dipakai. Lakukan tiga pemeriksaan berikut.
Cek dari sisi Redis
Jalankan redis-cli info stats dan perhatikan keyspace_hits serta keyspace_misses. Setelah situs dijelajahi beberapa menit, angka hits harus tumbuh jauh lebih cepat daripada misses. Anda juga bisa menghitung jumlah key milik situs dengan redis-cli --scan --pattern "situssaya_*" | wc -l. Kalau hasilnya nol, berarti prefix salah atau drop-in tidak aktif.
Cek dari sisi WordPress
Pasang plugin Query Monitor lalu bandingkan jumlah query database pada halaman yang sama sebelum dan sesudah Redis aktif. Muat halaman dua kali, karena pemuatan pertama masih mengisi cache. Penurunan jumlah query dan waktu eksekusi PHP pada pemuatan kedua adalah bukti paling meyakinkan.
Cek keberadaan drop-in
Buka menu Plugins lalu tab Drop-ins. Harus ada entri Object Cache di sana. Kalau tidak muncul, file wp-content/object-cache.php gagal dibuat, biasanya karena permission folder terlalu ketat. Perbaiki kepemilikan folder wp-content agar bisa ditulis oleh user PHP, lalu ulangi proses enable.
Mengukur Peningkatan dengan Jujur
Hindari klaim persentase yang tidak Anda ukur sendiri. Yang layak diukur ada tiga: waktu eksekusi PHP, jumlah query database, dan Time To First Byte pada halaman yang tidak di-cache penuh. Ukur ketiganya pada halaman admin dan pada halaman dinamis, bukan pada beranda yang sudah dilayani page cache, karena beranda tidak akan menunjukkan perbedaan apa pun.
| Jenis Halaman | Dilayani Page Cache? | Manfaat Redis |
|---|---|---|
| Artikel blog untuk pengunjung anonim | Ya | Kecil, hanya terasa saat cache dibersihkan |
| Dashboard dan editor admin | Tidak | Besar, terutama di situs dengan banyak plugin |
| Keranjang dan checkout WooCommerce | Tidak | Besar, karena query produk dan sesi berulang |
| Halaman arsip dengan filter | Sebagian | Sedang sampai besar |
| Endpoint REST API dan AJAX | Tidak | Besar, sering dipanggil berulang oleh tema modern |
Masalah yang Sering Muncul dan Solusinya
Status Not Connected
Periksa berurutan: apakah redis-cli ping menjawab dari server yang sama, apakah ekstensi PHP terbaca oleh PHP-FPM (bukan hanya oleh PHP CLI), dan apakah password di wp-config.php sama persis dengan requirepass. Jangan lupa restart PHP-FPM setelah memasang ekstensi, karena proses lama tidak akan memuat modul baru.
Konten tidak berubah setelah diedit
Ini gejala cache basi. Bersihkan berlapis dari yang paling dalam: wp redis flush, lalu cache halaman, lalu CDN, lalu cache browser. Kalau masalah berulang setiap kali menyimpan post, kemungkinan ada plugin yang menulis ke object cache tanpa mengatur invalidasi dengan benar. Nonaktifkan plugin satu per satu untuk menemukan pelakunya.
Situs error setelah Redis dimatikan
File wp-content/object-cache.php tetap tertinggal kalau plugin dihapus lewat FTP tanpa menekan tombol Disable. Hapus file itu secara manual dan situs akan kembali memakai object cache bawaan.
Instalasi multisite dan multi-domain
Jaringan WordPress Multisite berbagi satu instalasi, jadi satu prefix untuk seluruh jaringan sudah cukup. Yang berbahaya adalah beberapa instalasi WordPress terpisah di satu server memakai prefix identik. Selalu beri prefix berbeda per instalasi.
Toko online dengan katalog besar
WooCommerce menghasilkan banyak transient dan query meta produk, sehingga termasuk yang paling diuntungkan Redis. Tetap perhatikan bahwa harga dan stok harus akurat, jadi jangan menaikkan TTL cache secara manual di luar batas wajar. Detail arsitektur toko online dibahas lebih lanjut di tutorial WooCommerce lengkap.
Redis, Memcached, atau Tidak Sama Sekali
Keduanya sama-sama menyimpan data di memori dan sama-sama bisa menjadi object cache WordPress. Redis unggul karena mendukung struktur data lebih kaya, punya opsi persistensi, dan ekosistem plugin WordPress yang lebih matang. Memcached lebih sederhana dan sedikit lebih hemat memori untuk key-value murni. Kalau server Anda sudah menjalankan Memcached untuk aplikasi lain, memakainya kembali masuk akal, dan perbandingan detailnya ada di artikel setup Memcached untuk caching.
Ada juga situasi di mana jawabannya adalah tidak keduanya. Situs profil perusahaan dengan sepuluh halaman statis yang jarang diperbarui tidak akan merasakan bedanya, sementara Anda menambah satu service lagi yang harus dipantau dan diamankan. Kalau Anda masih menimbang apakah kompleksitas ini sepadan, mulai dari memahami cara kerja platform lebih dulu lewat artikel apa itu WordPress dan bagaimana ia memuat halaman.
Hosting WordPress yang Sudah Siap Redis
Tidak perlu repot mengurus service, ekstensi PHP, dan firewall. Paket hosting HostingEkspres menyediakan stack yang siap dipakai untuk object caching sejak hari pertama.
Lihat Paket HostingPertanyaan Umum (FAQ)
Apakah Redis menggantikan plugin page cache seperti LiteSpeed Cache atau WP Rocket?
Tidak. Page cache menyajikan HTML jadi tanpa menjalankan PHP, sedangkan Redis mempercepat PHP yang tetap harus dijalankan. Keduanya bekerja di lapisan berbeda dan sebaiknya dipakai bersamaan. Halaman publik dilayani page cache, sementara dashboard, keranjang, dan endpoint API mendapat manfaat dari Redis.
Berapa nilai maxmemory Redis yang wajar untuk satu situs WordPress?
Untuk satu situs berukuran sedang, 128 MB sampai 256 MB biasanya lebih dari cukup. Pantau used_memory_human lewat redis-cli info memory selama seminggu. Kalau angkanya menempel di batas dan eviction terus terjadi, naikkan bertahap. Jangan mengalokasikan memori sampai menekan kebutuhan MySQL dan PHP-FPM.
Kenapa status plugin Connected tapi hit ratio tetap rendah?
Penyebab paling sering adalah cache terlalu cepat dibersihkan. Plugin keamanan atau plugin cache lain kadang memanggil flush setiap kali ada perubahan kecil. Periksa juga apakah prefix berubah-ubah, misalnya karena memakai nilai dinamis. Rasio hit yang sehat untuk situs aktif umumnya berada jauh di atas angka miss setelah beberapa jam berjalan.
Apakah Redis bisa dipakai di shared hosting?
Hanya kalau provider menyediakannya. Sebagian hosting berbasis cPanel menawarkan Redis lewat menu khusus lengkap dengan socket path yang harus dimasukkan ke wp-config.php. Kalau tidak tersedia, jangan memaksakan Predis ke server Redis eksternal lewat internet karena latensi jaringan justru membuat situs lebih lambat daripada tanpa object cache.
Bagaimana cara membersihkan cache saat harga produk WooCommerce tidak ikut berubah?
Jalankan wp redis flush atau tekan tombol Flush Cache di panel plugin, lalu bersihkan page cache dan CDN. Kalau harga masih basi, kemungkinan yang menyimpan bukan Redis melainkan transient di halaman produk atau cache fragmen dari tema. Uji dengan menonaktifkan sementara object cache untuk memastikan sumber datanya.
Apakah data di Redis hilang saat server restart?
Dengan konfigurasi object cache yang disarankan, ya, dan itu tidak masalah. WordPress akan membangun ulang cache secara otomatis pada request berikutnya. Persistensi ke disk memang tersedia lewat RDB atau AOF, tapi untuk object cache manfaatnya kecil dibandingkan tambahan operasi tulis ke disk yang ditimbulkannya.
Artikel Terkait

Cara Setup Redis untuk Caching Website: Panduan Optimasi Performa
Panduan lengkap cara setup Redis untuk caching website di Linux: instalasi, konfigurasi, integrasi dengan WordPress dan PHP, serta tips optimasi performa server agar website lebih cepat dan responsif.
Baca Selengkapnya→
Cara Setup Memcached untuk Caching: Mempercepat Website dengan Object Caching
Panduan lengkap cara setup Memcached untuk mempercepat website di Linux: instalasi, konfigurasi, integrasi dengan WordPress dan PHP, serta perbandingan dengan Redis untuk memilih solusi caching terbaik.
Baca Selengkapnya→
Cara Install Plugin WordPress: Panduan Lengkap untuk Pemula 2026
Cara install plugin WordPress via Dashboard, FTP, dan cPanel. Panduan pilih plugin terbaik, update otomatis, dan troubleshooting plugin konflik.
Baca Selengkapnya→Butuh Hosting untuk Website Anda?
Dapatkan hosting cepat, aman, dan terpercaya dengan harga terjangkau. Gratis domain, SSL, dan support 24/7.
Jangan Ketinggalan Promo!
Subscribe newsletter kami dan dapatkan diskon hingga 50% untuk pembelian pertama kamu.
Gratis, tanpa spam. Dengan subscribe, kamu setuju menerima email tips dari Hosting Ekspres. Bisa berhenti kapan saja.