Im Allgemeinen gibt es zwei Formen des Lastausgleichs für Inhalte: eine ist statisch und die andere ist dynamisch. Dynamische Website-Inhalte müssen möglicherweise interaktiv sein, was das Problem der Sitzungsfreigabe mit sich bringt. Standardmäßig speichert PHP Sitzungen in LocalDisk. Wenn das Laden zwischen mehreren PHP-Hosts erfolgt, wie kann die Sitzung geteilt werden? Heute werden wir dieses Problem lösen.
Es gibt viele Möglichkeiten, Dateien in einer Sitzung zu teilen:
Verteilte Dateifreigabe; NFS-, NAS-Dateispeicherung usw.
Nginx-Lastausgleichsmodul ip_hash fixiert Besucher auf einem bestimmten Backend-Server.
Speichern Sie die Sitzung in der Datenbank wie MySQL, Memcached, Redis, Mongodb usw.
Ich persönlich bevorzuge es, die Sitzung in der Redis-Datenbank zu speichern. Die Verwendung dieser Methode zur Synchronisierung der Sitzungsfreigabe erhöht die Belastung der Datenbank nicht, ist aber sicherer als Cookies Die Datei wird viel schneller gelesen. „Manche Leute denken, wenn ich die gesamte Caching-Software installiere, wird es schneller. Dann wird es keine Cache-Beschleunigung geben, sondern eine Cache-Bibliothek.“
php-Sprachskript unterstützt den Betrieb von Redis standardmäßig nicht, daher müssen Sie ein phpRedis-Erweiterungsmodul eines Drittanbieters installieren, um den Betrieb von Redis zu unterstützen. Informationen zur Installation und Verwendung von phpRedis finden Sie in dem Artikel, den ich geschrieben habe früher „Installation, Konfiguration und Verwendung des PHPRedis-Erweiterungsmoduls“. Darüber hinaus ist hier ein Redis-Server erforderlich. Weitere Informationen finden Sie unter „Linux Centos7 Redis 3.2.9 Quellcode-Kompilierung und Installationskonfiguration“.
1. Ändern Sie die PHP-Konfigurationsdatei php.ini, um die Sitzung in Redis zu speichern.
# 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. Starten Sie den PHP-FPM-Dienst neu, damit er wirksam wird
# systemctl restart php-fpm
Alle oben genannten Prozesse werden manuell getestet und können zu 99 % für die Produktion verwendet werden.
Das obige ist der detaillierte Inhalt vonRedis-Cache PHP 7.2-Sitzungsvariablenfreigabe. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!