Redis adalah open source (berlisensi BSD), penyimpanan struktur data dalam memori, digunakan sebagai database, cache, dan perantara pesan. Ini dapat digabungkan dengan database lain seperti MySQL untuk menyediakan mekanisme untuk menyimpan kueri Anda di cache.
Dalam artikel ini, kami akan menunjukkan cara men-cache kueri MySQL yang diperlukan untuk merender halaman WordPress. Ini akan memberi kami peningkatan kinerja yang signifikan, meskipun dengan beberapa peringatan.
Pengantar Caching WordPress yang Lebih Baik
WordPress menggunakan database MySQL untuk menyimpan objek aplikasi internal (remah roti, item menu, dll.) yang bisa mahal untuk dibuat. Karena database juga menangani kueri untuk permintaan halaman, ini mungkin merupakan hambatan yang paling umum dan sering menyebabkan peningkatan waktu muat.
Redis menyediakan mekanisme caching yang bertindak sebagai alternatif untuk database MySQL. Jika pengguna mengunjungi halaman WordPress, kueri MySQL yang diperlukan untuk menghasilkan halaman disajikan melalui Redis yang menyimpan hasil. Ini menghasilkan waktu muat yang sangat cepat, sebanding dengan halaman statis.
Pilihan cache populer lainnya adalah Memcached. Namun, Redis melakukan hampir semua yang dilakukan Memcached sehingga kami akan menggunakan hosting ScaleGrid untuk Redis™* untuk keperluan tutorial ini.
Bagaimana Cara Kerja Redis Caching?
Saat pengguna meminta halaman WordPress untuk pertama kalinya, kueri MySQL dilakukan di server. Redis menyimpan kueri ini dalam cache, jadi ketika pengguna lain meminta halaman WordPress yang sama, hasilnya diberikan dari Redis tanpa perlu melakukan kueri ke database lagi.
Jika kueri tidak di-cache di Redis, hasilnya disediakan oleh MySQL, yang kemudian ditambahkan ke cache Redis.
Jika nilai tertentu diperbarui dalam database, nilai Redis yang sesuai menjadi tidak valid untuk mencegah data cache yang buruk disajikan kepada pengguna.
Persyaratan Tutorial
Berikut adalah daftar teknologi yang digunakan dalam artikel ini:
- 2 instalasi WordPress (dengan dan tanpa plugin, untuk benchmark)
- Server Redis™
- Plugin Cache Objek WP Redis
Instalasi WordPress
Anda dapat mengunduh versi terbaru WordPress di sini dan menyiapkan dua penginstalan berbeda pada host seperti Heroku atau AWS.
Server Redis
ScaleGrid memberikan dukungan kelas dunia untuk Redis™ Standalone dan klaster Master/Slave dengan fitur keamanan yang ditingkatkan. Kami akan menggunakan cluster Standalone Redis™ yang dihosting di ScaleGrid dengan strategi caching Allkeys-LRU, dan Anda dapat mendaftar untuk uji coba 30 hari gratis hosting kami untuk Redis™ untuk membantu tutorial ini.
Plugin Cache Objek WP Redis
Plugin ini digunakan sebagai drop-in ke instalasi WordPress Anda dan dapat dikonfigurasi untuk menggunakan host Redis™. Anda dapat menemukan plugin di sini.
Petunjuk Penyiapan:Redis Object Cache untuk WordPress
Berikut adalah langkah-langkah untuk menginstal Redis Object Cache Plugin pada instalasi WordPress.
Langkah 1:Instal Plugin Redis Cache
Tutorial ini mengasumsikan bahwa Anda telah menyiapkan dua instalasi baru WordPress. Di salah satunya, Anda perlu menginstal plugin Redis Object Cache. Setelah plugin terinstal, Anda dapat mengaktifkannya dari menu plugin.
Langkah 2:Temukan Redis di Setelan Anda
Setelah plugin diaktifkan, opsi Redis akan muncul di bawah Menu Pengaturan.
Langkah 3:Tambahkan Konfigurasi WordPress
Setelah menyiapkan plugin, kita perlu menambahkan opsi konfigurasi ke file konfigurasi WordPress. Minimal, Anda perlu menyiapkan opsi berikut:
define('WP_REDIS_HOST', ''); define('WP_REDIS_PASSWORD', '');
Anda dapat menemukan opsi di atas pada halaman Detail Cluster ScaleGrid untuk Redis™.
Simpan konfigurasi dan aktifkan Object Cache. Jika otentikasi benar, Anda akan melihat layar berikut:
Pada titik ini, Redis telah dikonfigurasi sebagai cache untuk instalasi WordPress Anda.
Memantau dan Men-debug Kueri WordPress
Semua cluster Redis telah diinstal dengan alat antarmuka baris perintah Redis (redis-cli) yang dapat Anda gunakan untuk memantau permintaan kueri yang masuk dari WordPress. Berikut adalah screenshot tampilannya:
Jika Anda tidak melihat output apa pun di konsol, buka situs WordPress dan segarkan.
WordPress &Metrik Redis untuk Dilacak
Metrik utama yang harus dilacak di sini adalah waktu buka halaman. Berikut adalah konfigurasi default yang kami gunakan untuk instalasi baru:
- WordPress:4.9.5
- Redis:v.4.0.2
- Tema WordPress:Dua Puluh Tujuh Belas
Berdasarkan penginstalan baru pada parameter di atas, kami dapat melihat hampir 50% pengurangan waktu pemuatan halaman:
- Tanpa Cache Objek Redis =~900ms
- Dengan Cache Objek Redis =~400ms
Kekurangan Cache Objek Redis
Ada beberapa peringatan untuk menggunakan pendekatan Redis Object Cache di WordPress. Mekanisme caching tidak berfungsi dengan baik jika Anda memiliki banyak plugin dan tema yang diinstal. Ini karena fakta bahwa semua data mereka juga perlu di-cache dengan Redis.
Anda juga dapat mempelajari cara Cache Tweet Menggunakan Node.js, Redis, dan Socket.io di artikel kami sebelumnya.
Seperti biasa, jika Anda membuat sesuatu yang luar biasa, kirimkan tweet kepada kami tentang hal itu @scalegridio. Jika Anda memerlukan bantuan dalam mengelola atau menghosting MongoDB® Database atau Redis™, hubungi kami di [email protected].