Cara Setting Redis Laravel di Hosting cPanel
Banyak developer pasang Redis Laravel di lokal, jalan mulus. Begitu pindah ke hosting cPanel, tiba-tiba error. Koneksi gagal, cache tidak jalan, queue diam di tempat.
Masalahnya bukan di Laravelnya, bukan juga Redisnya. Di shared hosting, Redis tidak berjalan lewat TCP host dan port seperti di lokal atau VPS. Redis di hosting cPanel pakai Unix socket, yaitu file jalur koneksi khusus di server. Selama konfigurasi Laravel masih pakai REDIS_HOST=127.0.0.1 dan REDIS_PORT=6379, koneksi memang tidak akan pernah berhasil.
Panduan ini membahas cara setting Redis Laravel di hosting cPanel dari awal sampai selesai: aktivasi Redis, penyesuaian .env, perubahan config/database.php, cara test koneksi, sampai troubleshooting error yang paling sering muncul.
Apa Itu Redis di Laravel dan Fungsinya?
Redis adalah in-memory data store, penyimpanan data yang bekerja di RAM, bukan di disk, sehingga aksesnya jauh lebih cepat dari database biasa.
Di Laravel, Redis bisa dipakai untuk cache, session, queue, rate limiting, dan temporary data store. Jadi Redis bukan sekadar “biar website cepat”, tiap use case punya tujuan berbeda. Cache mengurangi query ke database, queue menjalankan proses di background, session menyimpan data login pengguna tanpa membebani database.
Di shared hosting, penggunaan paling realistis tetap cache dan queue ringan karena ada batasan resource yang perlu dipertimbangkan.
Kenapa Redis Laravel Sering Tidak Jalan di Hosting?
Di lokal atau VPS, konfigurasi Redis Laravel biasanya seperti ini:
|
1 2 |
REDIS_HOST=127.0.0.1 REDIS_PORT=6379 |
Konfigurasi itu normal dan memang jalan di environment yang Redis nya berjalan sebagai service TCP. Masalahnya, shared hosting cPanel tidak mengekspos Redis lewat host dan port. Redis di shared hosting berjalan melalui Unix socket, file koneksi di server dengan path seperti /home/usernamecpanel/redis.sock.
Laravel yang masih pakai REDIS_HOST dan REDIS_PORT default akan terus mencoba konek ke alamat yang salah. Hasilnya selalu sama: connection refused.
Syarat Sebelum Setting Redis Laravel di Hosting
Sebelum mulai konfigurasi, pastikan beberapa hal ini sudah siap. Kalau salah satu belum terpenuhi, proses setting Redis Laravel di hosting tidak akan berjalan sampai selesai.
1. Laravel Sudah Terpasang di Hosting
Panduan ini tidak membahas instalasi Laravel dari awal. Kalau Laravel belum terpasang, ikuti dulu panduan cara install Laravel di hosting cPanel sebelum lanjut ke langkah berikutnya.
2. Paket Hosting Support Redis
Di Hosting DomaiNesia generasi baru (Nimbus), Redis hanya tersedia di paket Nimbus Go dan Nimbus Plus. Paket Nimbus One tidak menyertakan fitur ini. Kalau kamu pakai Nimbus One dan mengikuti panduan ini, menu Redis tidak akan muncul di cPanel dan itu bukan error konfigurasi, memang fiturnya tidak ada di paket tersebut.
Belum pakai Nimbus Go atau Nimbus Plus? Hosting DomaiNesia Nimbus Go dan Nimbus Plus sudah support Redis langsung dari cPanel, tanpa setup server manual.
Lihat Paket Hosting yang Support Redis
3. Redis Sudah Diaktifkan di cPanel
Redis tidak aktif secara default. Kamu perlu mengaktifkannya dulu lewat menu Redis di cPanel sebelum bisa dipakai di Laravel. Langkah lengkapnya ada di section berikutnya.
4. Extension Redis di PHP Sudah Aktif
Selain Redisnya sendiri, extension Redis di PHP Selector juga harus diaktifkan. Kalau extension ini belum aktif, Laravel tidak bisa membaca driver Redis meski koneksi socketnya sudah benar. Cara lengkapnya bisa diikuti di cara mengaktifkan Redis di cPanel hosting.
5. Tahu Path Socket Redis
Setelah Redis diaktifkan, cPanel akan menampilkan socket path, biasanya berbentuk /home/usernamecpanel/redis.sock. Path ini yang akan dipakai di konfigurasi Laravel nanti, jadi catat baik-baik.
Cara Mengaktifkan Redis di cPanel Hosting
Langkah ini perlu dilakukan sebelum konfigurasi Laravel dimulai. Redis tidak akan bisa dipakai kalau belum diaktifkan dari sisi hosting dulu.
1. Login ke cPanel
Cara termudah adalah lewat MyDomaiNesia, masuk ke dashboard, pilih layanan hosting kamu, klik untuk kelola, lalu klik Login to cPanel. Tidak perlu input username dan password lagi.
Alternatifnya, akses langsung via https://namadomain/cpanel menggunakan kredensial yang dikirim DomaiNesia ke email kamu.
2. Buka Menu Redis
Di halaman cPanel, cari menu “Redis” di kolom DomaiNesia. Menu ini hanya muncul kalau paket hostingmu support Redis, Nimbus Go atau Nimbus Plus.
3. Klik Enable
Secara default Redis belum aktif. Klik tombol Enable untuk mengaktifkannya.
4. Salin Path Socket Redis
Setelah aktif, cPanel langsung menampilkan socket path Redis. Salin path tersebut, biasanya berbentuk /home/usernamecpanel/redis.sock, karena path ini dibutuhkan di langkah konfigurasi Laravel berikutnya.
Cara Mengaktifkan Extension Redis di PHP Selector
Extension Redis di PHP harus diaktifkan terpisah dari menu Redis di cPanel. Kalau dilewati, Laravel tetap tidak bisa membaca driver Redis meski socketnya sudah benar.
1. Buka Select PHP Version
Di cPanel, ketik “Select PHP Version” di kolom pencarian, lalu klik menu tersebut.
2. Cari Extension Redis
Di tab Extensions, cari extension bernama redis.
3. Centang dan Simpan
Klik checkbox pada extension redis, lalu otomatis tersimpan. Setelah itu extension aktif dan Laravel sudah bisa menggunakan driver Redis.
Cara Setting Redis Laravel di File .env
Ini bagian inti dari seluruh proses setting Redis Laravel di hosting. File .env adalah tempat Laravel membaca konfigurasi koneksi Redis, dan disinilah perubahan dari TCP ke Unix socket dilakukan.
Buka file .env di root folder Laravel kamu, bukan .env.example, lalu sesuaikan bagian Redis menjadi seperti ini:
|
1 2 3 4 5 |
REDIS_CLIENT=predis REDIS_SCHEME=unix REDIS_PATH=/home/usernamecpanel/redis.sock REDIS_DB=0 REDIS_CACHE_DB=1 |
Penjelasan tiap variabel:
REDIS_CLIENT=predis→ client Redis yang dipakai Laravel untuk konekREDIS_SCHEME=unix→ mengarahkan koneksi lewat Unix socket, bukan TCPREDIS_PATH→ path socket Redis yang tadi disalin dari cPanelREDIS_DB→ nomor database Redis untuk koneksi defaultREDIS_CACHE_DB→ nomor database Redis khusus untuk cache
Ganti /home/usernamecpanel/ dengan username cPanel kamu yang sebenarnya. Path yang salah adalah penyebab paling umum koneksi gagal setelah konfigurasi ini.
Cara Mengubah Konfigurasi Redis di config/database.php
File .env saja tidak cukup. Laravel membaca konfigurasi Redis lewat config/database.php, dan secara default file ini tidak menyertakan scheme dan path, dua variabel yang dibutuhkan untuk koneksi via Unix socket.
Buka file config/database.php, cari blok 'redis', lalu sesuaikan bagian default dan cache menjadi seperti ini:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
'redis' => [ 'client' => env('REDIS_CLIENT', 'phpredis'), 'default' => [ 'scheme' => env('REDIS_SCHEME'), 'path' => env('REDIS_PATH'), 'url' => env('REDIS_URL'), 'database' => env('REDIS_DB', 0), ], 'cache' => [ 'scheme' => env('REDIS_SCHEME'), 'path' => env('REDIS_PATH'), 'database' => env('REDIS_CACHE_DB', 1), ], ], |
Tanpa perubahan ini, Laravel tetap mencoba konek lewat host dan port meski .env sudah diubah. Kedua file harus sinkron supaya Redis Laravel bisa berjalan di hosting.
Setelah menyimpan perubahan, jalankan perintah berikut untuk memastikan config lama tidak ter-cache:
|
1 |
php artisan config:clear |
Cara Test Redis Laravel Berhasil atau Tidak
Setelah konfigurasi selesai, jangan langsung asumsi Redis sudah jalan. Tes dulu. Ada dua cara cepat untuk memastikannya.
1. Test Lewat Tinker
Jalankan perintah berikut di terminal atau SSH:
|
1 |
php artisan tinker |
Lalu coba set dan get data ke Redis:
|
1 |
use Illuminate\Support\Facades\Redis; |
Baru ke:
|
1 2 3 |
Redis::set('test_key', 'ok'); Redis::get('test_key'); |
Kalau hasilnya “ok”, Redis Laravel sudah konek dan berjalan dengan benar.
2. Test Cache Laravel
Kalau kamu menggunakan Redis sebagai cache driver, test langsung lewat Cache facade:
|
1 |
use Illuminate\Support\Facades\Cache; |
Kemudian:
|
1 2 3 |
Cache::put('tes-cache', 'berhasil', 60); Cache::get('tes-cache'); |
Hasil “berhasil” artinya Redis sudah terhubung dan cache Laravel sudah membaca lewat socket yang benar.
Kalau salah satu test di atas mengembalikan null atau error, cek kembali path socket di .env dan pastikan config sudah di clear dengan php artisan config:clear.
Cara Menggunakan Redis untuk Cache Laravel
Setelah koneksi Redis Laravel berhasil, langkah selanjutnya adalah mengarahkan cache Laravel ke Redis. By default, Laravel pakai driver file untuk cache, artinya data cache disimpan di disk, bukan di Redis.
Untuk menggantinya, buka file .env dan ubah nilai CACHE_DRIVER:
|
1 |
CACHE_DRIVER=redis |
Simpan, lalu jalankan:
|
1 2 3 |
php artisan config:clear php artisan cache:clear |
Setelah itu cache Laravel sudah berjalan lewat Redis. Query database yang sering dipanggil bisa disimpan sementara di Redis, sehingga tidak perlu dieksekusi ulang setiap request.
Contoh penggunaan paling sederhana di kode Laravel:
|
1 2 3 |
$data = Cache::remember('data-produk', 3600, function () { return Produk::all(); }); |
Data Produk::all() hanya diambil dari database sekali, lalu disimpan di Redis selama 3600 detik. Request berikutnya langsung baca dari Redis tanpa sentuh database.
Cara Menggunakan Redis untuk Queue Laravel
Selain cache, Redis Laravel juga bisa dipakai untuk queue, menjalankan proses di background seperti kirim email, generate laporan, atau proses data tanpa membuat user menunggu.
Untuk mengaktifkannya, buka .env dan ubah nilai QUEUE_CONNECTION:
|
1 |
QUEUE_CONNECTION=redis |
Simpan, lalu jalankan:
|
1 |
php artisan config:clear |
Untuk memproses job yang masuk ke queue, jalankan worker:
|
1 |
php artisan queue:work |
Satu catatan penting untuk shared hosting: queue worker perlu berjalan terus-menerus sebagai proses background. Di shared hosting, proses seperti ini punya keterbatasan, worker bisa berhenti sendiri kalau server melakukan restart atau membatasi proses yang berjalan lama.
Redis queue di shared hosting tetap berguna untuk job ringan: email transaksional, notifikasi sederhana, atau background process yang tidak perlu berjalan 24 jam penuh. Untuk aplikasi yang butuh queue worker stabil dan terus-menerus, VPS adalah pilihan yang lebih tepat dan ini dibahas di section berikutnya.
Error Umum Redis Laravel di Hosting dan Cara Mengatasinya
Sebagian besar error Redis Laravel di hosting punya pola yang sama. Berikut yang paling sering muncul dan cara mengatasinya.
Connection Refused
Laravel tidak bisa konek ke Redis sama sekali. Biasanya terjadi karena:
- Redis belum diaktifkan di cPanel
- Extension redis di PHP Selector belum dicentang
- Konfigurasi di
.envmasih pakaiREDIS_HOSTdanREDIS_PORTdefault, belum diganti ke Unix socket
Cek ketiga hal ini dulu sebelum mencari masalah di tempat lain.
Class Redis Not Found
Error ini muncul kalau Laravel tidak menemukan client Redis yang dibutuhkan. Penyebab paling umum:
- Extension PHP redis belum aktif di PHP Selector
REDIS_CLIENTdi.envtidak sesuai dengan package yang terpasang, misalnya diset predis tapipackage predis/predisbelum diinstall via Composer
Jalankan composer require predis/predis kalau kamu pakai client Predis.
Connection Closed / No Such File or Directory
Redis sudah aktif, tapi Laravel tetap tidak bisa konek. Ini hampir selalu soal path socket yang salah. Cek kembali nilai REDIS_PATH di .env, pastikan path nya persis sama dengan yang ditampilkan cPanel setelah Redis diaktifkan, termasuk username cPanelnya.
Cache atau Queue Tidak Jalan
Redis sudah konek, tapi cache atau queue tetap tidak berjalan lewat Redis. Biasanya karena:
CACHE_DRIVERatauQUEUE_CONNECTIONdi.envbelum diubah ke redis- Config Laravel masih ter-cache dari versi sebelumnya
Jalankan perintah berikut untuk membersihkan cache config:
|
1 2 3 |
php artisan config:clear php artisan cache:clear |
Redis Tidak Muncul di cPanel
Menu Redis tidak ada di cPanel meski sudah login. Ini bukan error konfigurasi, kemungkinan besar paket hosting yang dipakai adalah Nimbus One yang memang tidak menyertakan fitur Redis. Fitur ini hanya tersedia di paket Nimbus Go dan Nimbus Plus.
Kapan Sebaiknya Menggunakan VPS untuk Redis Laravel?
Shared hosting cukup untuk banyak kasus. Tapi ada titik di mana kebutuhan aplikasi Laravel sudah melampaui apa yang bisa diberikan shared hosting, termasuk untuk Redis.
Shared hosting masih cocok kalau:
- Aplikasi Laravel masih skala kecil hingga menengah
- Redis dipakai untuk cache dan queue ringan
- Tidak butuh queue worker yang berjalan terus-menerus
- Traffic aplikasi masih stabil dan tidak terlalu tinggi
Pertimbangkan pindah ke VPS kalau:
- Queue worker perlu berjalan 24 jam tanpa putus
- Butuh kontrol penuh atas konfigurasi Redis, memory limit, persistence, eviction policy
- Aplikasi mulai pakai Laravel Horizon untuk monitoring queue
- Traffic tinggi dan cache Redis perlu di tuning untuk performa optimal
- Butuh Supervisor untuk menjaga queue worker tetap hidup
Kalau sudah sampai di titik ini, VPS adalah langkah logis berikutnya. Kamu bisa mulai dari panduan cara install Redis di VPS Ubuntu untuk setup Redis di environment yang lebih fleksibel, atau langsung cek pilihanlayanan Cloud VPS DomaiNesia kalau sudah siap upgrade.
Kesimpulan
Masalah Redis Laravel di hosting cPanel hampir selalu soal satu hal: konfigurasi default Laravel tidak cocok dengan cara Redis berjalan di shared hosting. Begitu kamu tahu Redis di sini pakai Unix socket, langkahnya jadi jelas.
Aktifkan Redis di cPanel, salin socket path nya, sesuaikan .env dan config/database.php, lalu test. Kalau semua benar, Redis langsung jalan.
Kalau nanti aplikasi makin besar, queue makin padat, atau worker perlu hidup 24 jam, shared hosting memang ada batasnya. Saat itu terjadi, cek layanan Cloud VPS DomaiNesia sebagai langkah berikutnya.














