Cara Install Redis di Ubuntu untuk Laravel
Redis adalah in-memory data store yang sering digunakan dalam aplikasi Laravel sebagai cache, session store, queue backend, dan penyimpanan data sementara.
Jika Anda sedang membangun aplikasi Laravel di server Ubuntu dan ingin menggunakan Redis, proses instalasinya cukup sederhana.
Pada artikel ini kita akan membahas cara install Redis di Ubuntu, menjalankan service Redis, melakukan pengecekan koneksi, dan menghubungkannya dengan Laravel.
Persiapan
Pastikan Anda memiliki:
- server atau VPS dengan Ubuntu;
- akses SSH;
- user dengan akses
sudo; - aplikasi Laravel yang sudah berjalan jika Redis akan digunakan untuk Laravel.
Sebelum melakukan instalasi, update package repository Ubuntu:
sudo apt update
Install Redis di Ubuntu
Install Redis menggunakan apt:
sudo apt install redis-server
Ubuntu akan mengunduh dan menginstall Redis beserta dependency yang diperlukan.
Setelah proses selesai, cek versi Redis:
redis-server --version
Jika Redis berhasil diinstall, Anda akan melihat informasi versi Redis yang terpasang.
Cek Status Redis
Redis biasanya dijalankan sebagai systemd service.
Cek statusnya dengan:
sudo systemctl status redis-server
Jika Redis berjalan dengan normal, statusnya akan menunjukkan:
Active: active (running)
Jika statusnya belum berjalan, Anda dapat menjalankannya dengan:
sudo systemctl start redis-server
Agar Redis otomatis dijalankan ketika server melakukan boot:
sudo systemctl enable redis-server
Kemudian Anda dapat memastikan service Redis aktif:
sudo systemctl is-enabled redis-server
Test Redis dengan redis-cli
Setelah Redis berjalan, langkah berikutnya adalah memastikan Redis dapat menerima koneksi.
Gunakan redis-cli:
redis-cli ping
Jika koneksi berhasil, Redis akan memberikan response:
PONG
Response PONG menunjukkan bahwa Redis sudah berjalan dan dapat menerima koneksi dari server.
Anda juga dapat mencoba menyimpan data sederhana:
redis-cli set test "Hello Redis"
Kemudian ambil kembali data tersebut:
redis-cli get test
Hasilnya:
"Hello Redis"
Setelah selesai melakukan pengujian, key tersebut dapat dihapus:
redis-cli del test
Konfigurasi Redis untuk Laravel
Setelah Redis berhasil berjalan, kita dapat menghubungkannya dengan Laravel.
Konfigurasi koneksi Redis Laravel biasanya diletakkan pada file .env.
Contoh:
REDIS_CLIENT=phpredis
REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379
127.0.0.1 digunakan ketika Redis berjalan pada server yang sama dengan aplikasi Laravel.
Port default Redis adalah 6379.
Setelah mengubah .env, bersihkan konfigurasi Laravel:
php artisan config:clear
Sekarang Laravel dapat menggunakan koneksi Redis berdasarkan konfigurasi tersebut.
Menggunakan Redis sebagai Cache di Laravel
Setelah Redis terhubung, Redis dapat digunakan sebagai cache store Laravel.
Contoh sederhana:
use Illuminate\Support\Facades\Cache;
$products = Cache::remember(
'products.latest',
600,
fn () => Product::latest()->get()
);
Pada contoh tersebut, Laravel akan mengambil data dari cache jika tersedia.
Jika cache belum tersedia, Laravel menjalankan query database kemudian menyimpan hasilnya ke cache.
Redis membantu mengurangi query database yang harus dilakukan berulang kali.
Untuk menghapus cache:
Cache::forget('products.latest');
Anda dapat membaca lebih lanjut mengenai penggunaan Redis di Laravel pada artikel Laravel Redis: Cara Menggunakan Redis untuk Cache dan Session.
Menggunakan Redis untuk Session Laravel
Redis juga dapat digunakan sebagai session store.
Pada file .env:
SESSION_DRIVER=redis
Kemudian bersihkan konfigurasi Laravel:
php artisan config:clear
Session Laravel tetap digunakan dengan API yang sama:
session(['user_id' => 123]);
$userId = session('user_id');
Redis akan menangani penyimpanan session di belakang layar.
Penggunaan Redis sebagai session store sangat berguna untuk aplikasi Laravel yang berjalan pada beberapa server karena session dapat disimpan pada storage yang dapat diakses bersama.
Apakah Redis Harus Dibuka ke Internet?
Tidak.
Jika Laravel dan Redis berada pada server yang sama, Redis sebaiknya hanya menerima koneksi lokal.
Untuk aplikasi Laravel yang menggunakan Redis pada server yang sama, penggunaan:
127.0.0.1:6379
merupakan konfigurasi yang umum.
Jangan membuka port Redis ke internet tanpa alasan dan konfigurasi keamanan yang tepat.
Redis bukan service yang seharusnya diekspos secara sembarangan ke publik.
Jika Redis berada pada server terpisah, gunakan jaringan privat atau mekanisme keamanan yang sesuai dengan infrastructure Anda.
Troubleshooting Redis di Ubuntu
Redis tidak berjalan
Cek status service:
sudo systemctl status redis-server
Jika diperlukan, restart Redis:
sudo systemctl restart redis-server
Kemudian coba kembali:
redis-cli ping
redis-cli tidak bisa terhubung
Pastikan Redis sedang berjalan:
sudo systemctl status redis-server
Kemudian periksa apakah Redis sedang listen pada port 6379:
sudo ss -lntp | grep 6379
Jika Redis berjalan secara lokal, Anda seharusnya dapat melihat service yang listen pada port tersebut.
Laravel tidak dapat terhubung ke Redis
Periksa kembali konfigurasi .env:
REDIS_HOST=127.0.0.1
REDIS_PORT=6379
Kemudian jalankan:
php artisan config:clear
Jika aplikasi menggunakan PHP extension untuk Redis, pastikan extension yang diperlukan juga sudah tersedia pada environment PHP Anda.
Perintah Redis yang Berguna
Beberapa perintah yang berguna ketika melakukan troubleshooting:
# Cek versi Redis
redis-server --version
# Cek koneksi
redis-cli ping
# Cek status service
sudo systemctl status redis-server
# Restart Redis
sudo systemctl restart redis-server
# Melihat informasi Redis
redis-cli info
# Masuk ke Redis CLI
redis-cli
Gunakan perintah administrasi Redis dengan hati-hati, terutama pada server production.
Kesimpulan
Install Redis di Ubuntu dapat dilakukan dengan beberapa langkah sederhana:
sudo apt update
sudo apt install redis-server
Kemudian pastikan Redis berjalan:
sudo systemctl status redis-server
Dan test koneksi:
redis-cli ping
Jika response yang diterima adalah:
PONG
Redis sudah siap digunakan.
Untuk aplikasi Laravel, Redis dapat dimanfaatkan sebagai cache, session store, queue backend, dan kebutuhan data sementara lainnya.
Jika tujuan Anda adalah menggunakan Redis untuk meningkatkan performa aplikasi Laravel, langkah berikutnya adalah mengatur Redis sebagai cache store dan mulai menggunakan Cache::remember() untuk data yang sering dibaca tetapi jarang berubah.
