Secara amnya, terdapat dua bentuk kandungan pengimbangan beban, satu adalah statik dan satu lagi kandungan laman web dinamik mungkin perlu interaktif, yang melibatkan isu perkongsian sesi. Secara lalai, PHP menyimpan sesi dalam LocalDisk Jika beban dijalankan antara berbilang hos PHP, bagaimana untuk berkongsi sesi? Hari ini kita akan menyelesaikan masalah ini.
Terdapat banyak cara untuk berkongsi fail dalam satu sesi:
Perkongsian fail yang diedarkan; NFS, storan fail NAS, dsb.
Modul ip_hash pengimbangan beban Nginx membetulkan pelawat ke pelayan bahagian belakang tertentu.
Simpan sesi dalam pangkalan data seperti MySQL, Memcached, Redis, Mongodb, dll.
Saya secara peribadi lebih suka menyimpan sesi dalam pangkalan data Redis Menggunakan kaedah ini untuk menyegerakkan bahagian sesi tidak akan meningkatkan beban pada pangkalan data, tetapi lebih selamat daripada meletakkan sesi dalam memori adalah lebih cepat daripada memuat turunnya dari a fail cakera Pembacaan akan menjadi lebih cepat. "Sesetengah orang berfikir: Jika saya memasang semua perisian caching, bukankah ia lebih pantas? Kemudian ia bukan pecutan caching, tetapi ia akan menjadi perpustakaan caching."
skrip bahasa php tidak menyokong operasi Redis secara lalai, jadi anda perlu memasang modul sambungan phpRedis pihak ketiga untuk menyokong operasi Redis Bagi cara memasang dan menggunakan phpRedis, anda boleh rujuk artikel yang saya tulis sebelumnya "Pemasangan, Konfigurasi dan Penggunaan Modul Sambungan phpRedis" . Selain itu, pelayan Redis diperlukan di sini. Sila rujuk "Linux Centos7 Redis 3.2.9 Penyusunan Kod Sumber dan Konfigurasi Pemasangan".
1. Ubah suai fail konfigurasi PHP php.ini untuk menyimpan sesi dalam Redis.
# vim /usr/local/php/etc/php.ini session.save_handler = files ;session.save_path = "N;/path" 修改为: session.save_handler = Redis session.save_path = “tcp://10.10.204.66:6379” ;如果Redis有密码连接方式 session.save_path = “tcp://10.10.204.66:6379?auth=password”
2 Mulakan semula perkhidmatan php-fpm untuk berkuat kuasa
# systemctl restart php-fpm
Semua proses di atas diuji secara manual dan 99% boleh digunakan untuk pengeluaran.
Atas ialah kandungan terperinci Redis cache PHP 7.2 perkongsian pembolehubah sesi. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!