HOSTING CEPATDOMAIN MURAHSSL GRATISSUPPORT 24/7UPTIME 99.9%SERVER INDONESIAHOSTING CEPATDOMAIN MURAHSSL GRATISSUPPORT 24/7UPTIME 99.9%SERVER INDONESIA
Optimasi

Cara Setup Redis untuk WordPress: Object Caching untuk Performa Maksimal

Tim HostingEkspres|30 Agustus 2026|14 menit baca
redis wordpressobject cacheredis cachewordpress cepatcaching wordpress
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.

Disclosure: Beberapa link di artikel ini mengarah ke layanan HostingEkspres atau partner kami. Jika Anda melakukan pembelian melalui link tersebut, kami mungkin menerima komisi tanpa biaya tambahan untuk Anda. Konten dan rekomendasi di artikel ini independen dan didasarkan pada pengujian serta pengalaman tim kami.
Ilustrasi setup Redis object cache di WordPress untuk mempercepat query database

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.

Poin Penting: Urutan prioritas optimasi WordPress yang masuk akal adalah hosting yang layak, page cache, optimasi gambar, baru object cache. Redis mempercepat yang tersisa, bukan menutupi fondasi yang rapuh.

Prasyarat Sebelum Instalasi

Ada tiga hal yang harus dipastikan sebelum menjalankan perintah apa pun.

  1. 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.
  2. 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.
  3. 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.

Poin Penting: Redis yang terbuka ke internet tanpa password adalah salah satu celah keamanan paling sering dieksploitasi di VPS. Kalau 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 anonimYaKecil, hanya terasa saat cache dibersihkan
Dashboard dan editor adminTidakBesar, terutama di situs dengan banyak plugin
Keranjang dan checkout WooCommerceTidakBesar, karena query produk dan sesi berulang
Halaman arsip dengan filterSebagianSedang sampai besar
Endpoint REST API dan AJAXTidakBesar, 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.

Poin Penting: Object cache memperbaiki gejala, bukan penyebab. Kalau sebuah halaman menjalankan 600 query karena tema memanggil query di dalam loop, perbaiki kodenya. Redis akan menyembunyikan masalah itu sampai trafik naik dan menyembulkannya lagi.

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 Hosting

Pertanyaan 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.

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.