Redis adalah penyimpanan struktur data dalam memori, banyak digunakan sebagai basis data, cache, dan perantara pesan. Ini sangat berguna untuk mengelola sesi PHP karena kinerjanya yang tinggi, latensi rendah, dan kemampuan persistensi data. Pada artikel ini, kami akan memandu Anda melalui seluruh proses penginstalan, konfigurasi, dan penggunaan Redis sebagai penyimpanan sesi untuk aplikasi PHP.
AdvertisementMenginstal Redis di Sistem Anda
Pertama, Anda perlu menginstal Redis di distribusi Linux Anda. Proses instalasi bervariasi tergantung pada manajer paket yang digunakan oleh distribusi Anda. Berikut beberapa contohnya:
Untuk sistem berbasis Debian (mis., Ubuntu), gunakan pengelola paket apt:
sudo apt update Sudo apt install redis-server ]praUntuk sistem berbasis RHEL (mis., CentOS, Fedora) , gunakan manajer paket yum:sudo yum install redis ]praUntuk Arch Linux, gunakan manajer paket pacman:sudo pacman -S redisSetelah instalasi, aktifkan dan mulai layanan Redis:
sudo systemctl aktifkan redis sudo systemctl start redis ]praInstal Ekstensi PHP Redis
Untuk menggunakan Redis untuk sesi PHP, Anda perlu menginstal ekstensi PHP Redis. Proses instalasi bergantung pada versi PHP dan manajer paket Anda.
Untuk sistem berbasis Debian (mis., Ubuntu), gunakan manajer paket apt:sudo apt install php-redis ]praUntuk sistem berbasis RHEL (mis., CentOS, Fedora), gunakan pengelola paket yum:sudo yum install php-pecl-redisUntuk Arch Linux, gunakan pengelola paket pacman:
sudo pacman -S php-redisSetelah instalasi, mulai ulang server web Anda untuk memuat ekstensi PHP Redis:
sudo systemctl restart apache2 # Untuk Apache
sudo systemctl restart nginx # Untuk Nginx12sudo systemctl restart apache2 # Untuk Apachesudo systemctl restart nginx # Untuk NginxMengonfigurasi PHP untuk Menggunakan Redis untuk Manajemen Sesi
Untuk mengonfigurasi PHP agar menggunakan Redis untuk manajemen sesi, edit file `php.ini` Anda (biasanya ditemukan di `/etc /php/VERSION/fpm/` atau `/etc/php/VERSION/apache2/` untuk sistem berbasis Debian, atau `/etc/php.ini` untuk sistem berbasis RHEL). Tambahkan atau ubah baris berikut:
session.save_handler = redis
session.save_path = "tcp://localhost:6379"12session.save_handler=redissession.save_path="tcp://localhost:6379"Ganti localhost dengan alamat IP server Redis Anda jika tidak berjalan di mesin yang sama dengan PHP Anda aplikasi. Ganti `6379` dengan nomor port yang sesuai jika server Redis Anda berjalan di port yang berbeda.
Setelah mengedit file php.ini, mulai ulang server web Anda untuk menerapkan perubahan:
sudo systemctl restart apache2 # Untuk Apache
sudo systemctl restart nginx # Untuk Nginx
sudo systemctl restart php-fpm # Untuk PHP-FPM (jika ada)123sudo systemctl restart apache2 # Untuk Apachesudo systemctl restart nginx # Untuk Nginxsudo systemctl restart php-fpm # Untuk PHP-FPM (jika ada)Menguji Redis-Powered PHP Sessions
Untuk menguji apakah aplikasi PHP Anda menggunakan Redis untuk manajemen sesi, buat skrip PHP sederhana dengan konten berikut:
<?php
session_start();if (!isset($_SESSION[`counter`])) {
$_SESSION[`penghitung`] = 0;
}$_SESSION[`penghitung`]++;
gema "Tampilan halaman: " . $_SESSION[`penghitung`];12345678910<?phpsession_start(); if(!isset($_SESSION[`counter`])){ $_SESSION[`counter`]=0;} $_SESSION[`counter`]++; echo"Tampilan halaman: ".$_SESSION[`counter`];
Simpan skrip ini sebagai `session_test.php` dan unggah ke server web Anda. Akses skrip di browser web Anda. Penghitung harus bertambah pada setiap penyegaran halaman, mengonfirmasi bahwa sesi PHP disimpan di Redis.
Mengamankan dan Mengoptimalkan Sesi PHP yang Didukung RedisUntuk lingkungan produksi, penting untuk mengamankan dan mengoptimalkan sesi PHP yang didukung Redis untuk memastikan kinerja dan data yang tinggi integritas. Berikut adalah beberapa rekomendasi:
Konfigurasikan autentikasi kata sandi Redis: Edit file konfigurasi Redis Anda (biasanya ditemukan di `/etc/redis/redis.conf`) dan setel arahan `requirepass` ke kata sandi yang kuat:requirepass your_secure_passwordKemudian, perbarui file `php.ini` Anda untuk menyertakan kata sandi di `session.save_path`:
session.save_path = "tcp://localhost:6379?auth=your_secure_password"1session.save_path="tcp://localhost :6379?auth=your_secure_password"
Mulai ulang layanan Redis dan server web Anda untuk menerapkan perubahan.
Aktifkan persistensi data Redis: Secara default, Redis hanya menyimpan data di memori. Untuk mempertahankan data sesi pada disk, aktifkan snapshot RDB atau logging AOF di file konfigurasi Redis Anda. Misalnya, untuk mengaktifkan snapshot RDB, batalkan komentar atau tambahkan baris berikut di `/etc/redis/redis.conf`:save 900 11save9001
Konfigurasi ini akan membuat snapshot data Redis setiap 15 menit jika setidaknya satu kunci telah dimodifikasi.
Pengaturan Optimalkan Redis: Bergantung pada sumber daya server dan kebutuhan aplikasi Anda, Anda mungkin perlu mengoptimalkan pengaturan Redis untuk mencapai performa terbaik. Beberapa opsi termasuk mengutak-atik direktif `maxmemory`, menyesuaikan `maxmemory-policy`, dan menyempurnakan nilai timeout.
Pantau kinerja Redis: Pantau kinerja server Redis Anda secara teratur menggunakan alat seperti `redis-cli`, `redis-stat`, atau `redis_exporter` untuk mengidentifikasi potensi kemacetan atau masalah.
KesimpulanPanduan lengkap ini telah menunjukkan kepada Anda cara menginstal, mengonfigurasi, dan menggunakan Redis sebagai penyimpanan sesi untuk aplikasi PHP. Dengan memanfaatkan manajemen sesi Redis untuk PHP, Anda dapat meningkatkan kinerja dan skalabilitas aplikasi web Anda secara signifikan. Pastikan untuk mengikuti praktik terbaik untuk mengamankan dan mengoptimalkan sesi PHP yang didukung Redis untuk memastikan pengalaman pengguna sebaik mungkin dan menjaga integritas data sesi Anda.
Referensi tecadmin.com