Bei der normalen Webentwicklung besteht der übliche Modus darin, dass nach der Anmeldung des Benutzers die Anmeldestatusinformationen in der Sitzung gespeichert werden, einige der häufig verwendeten Hot-Daten des Benutzers im Dateicache gespeichert werden und die Anhangsinformationen von hochgeladen werden Der Benutzer wird in einem Verzeichnis auf dem Webserver gespeichert. Diese Methode ist sehr komfortabel zu verwenden und für allgemeine Webanwendungen voll geeignet. Bei Websites auf Unternehmensebene mit hoher Parallelität ist dies jedoch nicht möglich. Um einen Lastausgleich zu erreichen, müssen Webcluster verwendet werden.
Nach der Bereitstellung mit der Web-Cluster-Methode müssen zunächst die Benutzerstatusinformationen und Anhangsinformationen angepasst werden. Der Benutzerstatus kann nicht mehr in der Sitzung gespeichert werden, der Cache kann nicht den Dateicache des lokalen Webservers verwenden und die Anhänge können nicht auf dem Webserver gespeichert werden. Denn es muss sichergestellt werden, dass der Status jedes Webservers im Cluster vollständig konsistent ist. Daher müssen Benutzerstatus, Cache usw. auf einem dedizierten Cache-Server wie Memcache gespeichert werden. Anhänge müssen im Cloud-Speicher gespeichert werden, z. B. Qiniu Cloud Storage, Alibaba Cloud Storage, Tencent Cloud Storage usw.
In diesem Artikel wird am Beispiel des ThinkPHP-Entwicklungsframeworks erläutert, wie Sitzung, Cache usw. eingerichtet und auf dem Memcache-Cache-Server gespeichert werden.
Laden Sie die zwischengespeicherte Memcache-Verarbeitungsklasse herunter und platzieren Sie sie im ThinkphpExtendDriverCache-Verzeichnis. Laden Sie die Session Memcache-Verarbeitungsklasse herunter und platzieren Sie sie im ThinkphpExtendDriverSession-Verzeichnis, wie unten gezeigt:
Ändern Sie die Konfigurationsdatei, passen Sie die Sitzung und den Cache an und zeichnen Sie sie auf dem Memcache-Server auf. Öffnen Sie ThinkPHPConfconvention.php, fügen Sie Konfigurationselemente hinzu:
1 2 3 |
|
Ändern Sie den Datencache in Memcache:
1 |
|
Ändern Sie die Sitzung in Memcache:
1 |
|
Wie Wie in der Abbildung unten dargestellt. Anzeige:
Da es viele Arten von Cloud-Speicher gibt, werden Anhänge im Cloud-Speicher gespeichert, daher werde ich nicht auf Details eingehen. Parametrisieren Sie einfach das von jedem Cloud-Speicher bereitgestellte SDK. Nach den oben genannten Änderungen kann der Webserver verteilt bereitgestellt werden.
Anhang 1: CacheMemcache.class.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 |
|
Anhang 2: SessionMemcache.class.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 |
|
Nach der obigen Konfiguration können die Benutzerstatusinformationen angezeigt werden Speichern Sie die Cache-Informationen im Memcache. Sie können Lastausgleichsserver verwenden, um große Cluster zum Erstellen von Websites zu implementieren.
Verwandte Empfehlungen:
Sprechen Sie ausführlich über die verteilte PHP-Bereitstellung
MongoDB eigenständig, Master-Slave, verteilt Bereitstellung
PHP-Erweiterung Memcache verteilte Bereitstellungslösung_PHP
Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der verteilten Bereitstellungsbeispiele des ThinkPHP-Projekts. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!