Cara Menggunakan Cache di CodeIgniter 4 Agar Website Secepat Kilat

Membuat website yang lambat itu seperti menyajikan kopi yang sudah dingin — pengunjung akan pergi sebelum sempat menikmati isinya. Dalam pengembangan aplikasi menggunakan CodeIgniter 4 (CI4), caching adalah salah satu teknik paling efektif untuk meningkatkan performa website secara drastis.
Artikel ini akan membahas cara menggunakan cache di CI4 mulai dari konsep dasar hingga best practices yang siap digunakan di production.
Apa Itu Cache di CodeIgniter 4?
Cache adalah mekanisme penyimpanan sementara hasil proses aplikasi agar tidak perlu dihitung ulang setiap kali ada permintaan baru.
Penjelasan sederhananya:
Cache adalah tempat penyimpanan sementara untuk data yang sering digunakan, supaya saat dibutuhkan lagi bisa diambil lebih cepat tanpa harus memproses ulang dari awal.
Bayangkan seperti ini:
Cache itu seperti catatan kecil di meja kerja kita. Daripada bolak-balik ke lemari arsip (database/server), kita simpan dulu data penting di meja supaya lebih cepat diakses.
Berikut contoh gambarannya:

Contoh di Kehidupan Nyata
1. Browser (Chrome, dll)
Saat kita membuka website, gambar dan file disimpan di cache. Jadi ketika buka lagi, loading lebih cepat karena tidak download ulang.
2. Aplikasi Web (Backend API)
Misalnya kita ambil daftar produk dari database:
- Tanpa cache → setiap request query ke database
- Dengan cache → data disimpan sementara (misalnya 5 menit), jadi request berikutnya tidak perlu query ulang
Di CodeIgniter 4, cache bisa digunakan untuk:
- Menyimpan output halaman (Page Caching)
- Menyimpan hasil query database
- Menyimpan response API pihak ketiga
- Menyimpan data statistik atau konfigurasi
Dengan cache, server tidak perlu:
- Menjalankan query berulang
- Memproses logika PHP dari awal
- Merender view berkali-kali
Hasilnya adalah response time yang jauh lebih cepat.
Mengapa Cache Penting untuk Performa Website?
Setiap request tanpa cache akan melalui proses:
- HTTP request masuk
- Routing diproses
- Controller dijalankan
- Query database dieksekusi
- View dirender
- HTML dikirim ke browser
Semakin kompleks aplikasinya, semakin berat proses ini.
Dengan cache:
- ⚡ Response time bisa turun drastis
- 🧠 Beban database berkurang
- 📉 Penggunaan CPU lebih stabil
- 📈 Core Web Vitals (TTFB & LCP) meningkat
Website cepat bukan hanya soal kenyamanan pengguna, tetapi juga faktor penting dalam SEO.
Konfigurasi Driver Cache di CI4
Secara default, CodeIgniter 4 menggunakan File Driver untuk caching. Namun CI4 juga mendukung:
- File
- Redis
- Memcached
- Dummy (fallback)
Konfigurasi dapat dilakukan melalui: app/Config/Cache.php
Atau lebih praktis melalui file .env.
Setting Cache di File .env
Tambahkan konfigurasi berikut di file .env:
cache.handler = 'file'
cache.backupHandler = 'dummy'
cache.prefix = 'my_app_'
cache.ttl = 60Penjelasan:
- cache.handler → Driver utama
- cache.backupHandler → Driver cadangan jika gagal
- cache.prefix → Prefix untuk menghindari konflik key
- cache.ttl → Waktu hidup cache (dalam detik)
Untuk website kecil atau development, file driver sudah cukup. Namun untuk aplikasi dengan traffic tinggi, Redis atau Memcached bisa jadi pilihan lebih baik karena bisa mendapatkan performa yang lebih cepat.
Menggunakan Redis untuk Traffic Tinggi
Jika website memiliki traffic tinggi atau query berat, gunakan Redis.
Redis menyimpan data di RAM (memory), bukan di disk, sehingga:
- Lebih cepat
- Lebih stabil untuk high traffic
- Cocok untuk aplikasi skala menengah hingga besar
Contoh konfigurasi Redis di file .env:
cache.handler = 'redis'
redis.host = 127.0.0.1
redis.port = 6379
redis.password =
redis.database = 0Pastikan server sudah terinstall dan menjalankan Redis sebelum digunakan.
Cara Menggunakan Page Caching di CI4
Page caching menyimpan seluruh output HTML dari sebuah halaman.
Ini adalah cara paling sederhana dan paling cepat untuk meningkatkan performa.
Contoh di controller:
public function index()
{
// Cache halaman selama 5 menit (300 detik)
$this->cachePage(300);
return view('welcome_message');
}Kapan menggunakan page caching?
- Halaman blog
- Halaman profil perusahaan
- Landing page statis
- Dokumentasi
Page caching sangat efektif karena tidak menjalankan ulang proses controller saat request berikutnya. Namun, jangan gunakan page caching untuk halaman yang sering berubah atau memiliki konten dinamis yang berbeda untuk setiap pengguna (misalnya dashboard user).
Cara Menggunakan Data Caching di CI4
Jika hanya ingin menyimpan data tertentu (misalnya hasil query berat), gunakan data caching.
Contoh implementasi:
public function getLatestNews()
{
$cache = \Config\Services::cache();
$cacheKey = 'latest_news_data';
if (! $news = $cache->get($cacheKey)) {
$model = new NewsModel();
$news = $model->findAll();
// Simpan selama 1 jam
$cache->save($cacheKey, $news, 3600);
}
return view('news_index', ['news' => $news]);
}Keuntungan data caching:
- Lebih fleksibel
- Bisa mengontrol cache per bagian
- Mengurangi beban database secara signifikan
Gunakan teknik ini untuk:
- Statistik dashboard
- Data API eksternal
- Query dengan JOIN yang kompleks
Cara Menghapus Cache di CodeIgniter 4
Cache harus dihapus ketika data berubah agar tidak terjadi data basi.
1.Hapus berdasarkan key
$cache = \Config\Services::cache();
$cache->delete('latest_news_data');2. Hapus semua cache
$cache = \Config\Services::cache();
$cache->clean(); 3. Hapus cache melalui CLI
Dari terminal, jalankan perintah berikut:
php spark cache:clearBiasakan menghapus cache setelah:
- Update artikel
- Perubahan harga
- Edit produk
- Update konfigurasi penting
Best Practices Optimasi Performa CI4
Berikut strategi yang bisa diterapkan:
| Teknik | Manfaat | Kompleksitas |
|---|---|---|
| Teknik Page Caching | Manfaat Response time sangat cepat | Kompleksitas Rendah |
| Teknik Data Caching | Manfaat Beban database berkurang | Kompleksitas Sedang |
| Teknik Redis Driver | Manfaat Akses memory super cepat | Kompleksitas Tinggi |
Tips tambahan:
- Jangan cache data yang sering berubah
- Gunakan TTL yang realistis
- Gunakan prefix untuk menghindari konflik key
- Kombinasikan cache dengan optimasi query database
- Monitor TTFB setelah implementasi
Jika diterapkan dengan benar, performa aplikasi bisa meningkat drastis tanpa harus upgrade server.
FAQ Seputar Cache CodeIgniter 4
Apakah cache di CI4 aman digunakan?
Ya, selama TTL diatur dengan benar dan cache dibersihkan ketika data berubah.
Mana yang lebih cepat, File atau Redis?
Redis lebih cepat karena menyimpan data di RAM, bukan di disk.
Berapa TTL yang ideal untuk cache?
Tergantung jenis data. Untuk artikel blog bisa 5–30 menit. Untuk statistik atau data berat bisa 1 jam atau lebih.
Apakah semua halaman perlu di-cache?
Tidak. Hindari caching pada halaman yang bersifat dinamis seperti halaman dashboard user atau data yang berubah setiap saat.
Kesimpulan
Mengoptimalkan performa aplikasi bukan lagi pilihan, melainkan kebutuhan. Dengan menerapkan cache di CodeIgniter 4, kita bisa memangkas waktu proses server, mengurangi beban database, serta meningkatkan pengalaman pengguna secara signifikan.
Mulailah dari page caching untuk halaman statis, lalu tingkatkan dengan data caching untuk query berat atau integrasi API. Jika traffic mulai tinggi, pertimbangkan menggunakan Redis agar performa tetap stabil. Jangan lupa atur TTL (Time To Live) dengan bijak agar data tetap relevan dan tidak basi.
Strategi caching yang tepat akan membantu menurunkan TTFB (Time To First Byte), meningkatkan skor Core Web Vitals, serta memperkuat ranking SEO website kita di mesin pencari.
Dengan memahami dan menerapkan teknik cache di CodeIgniter 4, optimasi performa CI4, penggunaan Redis di CI4, serta konfigurasi page caching dan data caching yang benar, aplikasi kita bisa berubah dari sistem yang lambat menjadi website yang cepat, ringan, dan siap menangani traffic tinggi.
Sekarang saatnya kita mulai menerapkan cache di CodeIgniter 4 dan membawa performa website ke level berikutnya 🚀

