Das Beispiel in diesem Artikel beschreibt die Konfiguration und Anwendungsmethode des Laravel Memcached-Cache-Treibers. Teilen Sie es als Referenz mit allen. Die Details lauten wie folgt:
Die Memcached-Cache-Konfiguration kann in jeder PHP-Umgebung konfiguriert und verwendet werden, um die WEB-Leistung zu verbessern. Bei großen Websites (mit vielen Daten und vielen Besuchen) ist das Caching-System eine wesentliche Komponente. Es trägt wesentlich dazu bei, die Datenbanklast zu reduzieren, die Seitenzugriffsgeschwindigkeit zu erhöhen und die Systemleistung zu verbessern. Als voll funktionsfähiges und leistungsstarkes PHP-Framework bietet Laravel selbstverständlich Unterstützung für das Caching-System. Laravle unterstützt derzeit Cache-Treiber, einschließlich Dateien, Arrays, Datenbanken, APC, Memcached und Redis, und bietet eine einheitliche Zugriffsschnittstelle für diese Treiber. Die Vorteile liegen auf der Hand: Wir können Cache-Treiber jederzeit entsprechend den Geschäftsanforderungen wechseln, ohne dies tun zu müssen Sorgen Sie sich um das Geschäft. Nehmen Sie Änderungen am Logikcode vor.
Die Konfiguration des Laravel-Cache-Treibers befindet sich in config/cache.php. Das erste Konfigurationselement default im Konfigurationsarray wird verwendet, um den Standard-Cache-Treiber anzugeben:
'default' => env('CACHE_DRIVER', 'file'),
Der Standard-Cache Treiber ist hier der Dateicache. Das zweite Konfigurationselement, Stores, ist das Highlight und wird zum Konfigurieren der sechs von Laravel unterstützten Cache-Treiber verwendet:
'stores' => [ 'apc' => [ 'driver' => 'apc', ], 'array' => [ 'driver' => 'array', ], 'database' => [ 'driver' => 'database', 'table' => 'cache', 'connection' => null, ], 'file' => [ 'driver' => 'file', 'path' => storage_path('framework/cache'), ], 'memcached' => [ 'driver' => 'memcached', 'servers' => [ [ 'host' => '127.0.0.1', 'port' => 11211, 'weight' => 100, ], ], ], 'redis' => [ 'driver' => 'redis', 'connection' => 'default', ], ],
wobei APC den APC-Cache darstellt. Sein Ziel ist es Zwischenspeichern und Optimieren des PHP-Mitte-Opcode bietet ein kostenloses, quelloffenes und robustes Framework. Weitere Informationen finden Sie in der offiziellen PHP-Dokumentation: http://php.net/manual/zh/book.apc.php ist wie Memcached ein speicherbasiertes Caching-System mit vergleichbarer Leistung, jedoch mit Einschränkungen ist, dass es nur verwendet werden kann. Einzelmaschinen-Caching unterstützt keine Verteilung, und die tatsächliche Produktionsumgebung verfügt häufig nicht über mehr als einen Webserver. Daher entscheiden sich große Websites relativ gesehen häufiger für die Verwendung von Memcached.
Array-Cache-Treiber (Array) wird oft nur zum Testen verwendet. Der Vorteil besteht darin, dass er nicht dauerhaft ist und nur innerhalb des Lebenszyklus einer PHP-Skriptausführung gültig ist.
Der Datei-Cache-Treiber (Datei) wird häufig nur für lokale Entwicklung und Tests verwendet, da der Datei-Cache den Cache in der Datei speichert und ihn beim Lesen von der Festplatte liest. Die Leistung ist natürlich nicht so gut wie das von speicherbasierten Caching-Systemen wie APC oder Memcached And Redis.
Der Datenbank-Cache-Treiber (Datenbank) speichert zwischengespeicherte Daten in der Datenbank. Bevor Sie ihn verwenden, müssen Sie eine neue Tabelle in der Datenbank erstellen, um Cache-Elemente zu speichern:
Schema::create('cache', function($table) { $table->string('key')->unique(); $table->text('value'); $table->integer('expiration'); });
Caching liest ursprünglich Daten aus der Datenbank und speichert sie im Cache-System. Obwohl Datenbank-Caching die Systemleistung bis zu einem gewissen Grad verbessert, ist es natürlich nicht die beste Wahl für große Systeme.
Der Memcached-Cache-Treiber basiert auf Memcached. Sie müssen Memcached im System installieren, bevor Sie ihn verwenden. Wenn Sie die virtuelle Homestead-Maschine verwenden, wurde er natürlich automatisch installiert Beim Booten können wir den folgenden Befehl verwenden. Überprüfen Sie den Status und den Startport:
ps -ef | grep memcached
Wie bereits erwähnt, ist Memcached ein speicherbasiertes verteiltes Cache-System, das in tatsächlichen Produktionsumgebungen weit verbreitet ist.
Redis ist ein Caching-System, das erst in den letzten Jahren aufgetaucht ist. Im Vergleich zu den Schlüssel-Wert-Paaren von Memcached unterstützt es mehr Datenstrukturen, einschließlich Zeichenfolgen, Hashes, Listen, Mengen und geordnete Mengen usw Redis, auch als Datenstrukturserver bekannt, ist ebenfalls speicherbasiert, kann aber auf der Festplatte gespeichert werden. Es ist nicht nur ein Caching-System, sondern kann auch als NoSQL-Datenbank, Nachrichtenwarteschlange usw. verwendet werden. Alles in allem ist es sehr kraftvoll. Wir werden später separat auf Redis eingehen, daher werden wir für Caching-Instanzen Memcached als Cache-Treiber als Beispiel verwenden und systematisch über die Verwendung von Caching in Laravel sprechen.
Ausgehend von der Konfigurationsdatei gibt der Treiber im Memcached-Konfigurationselement den Cache-Treibertyp an, der als Memcached verwendet wird. Server stellt den Server dar, auf dem Memcached installiert ist, Host stellt den Hostnamen dar, Port stellt die Portnummer dar, die Memcached abhört, der Standardwert ist 11211 und Gewicht stellt das Gewicht dar, da wir oft mehrere Memcached-Server konfigurieren und das Gewicht das darstellt Priorität des Zugriffs.
Testweise verwenden wir hier die Standardkonfiguration.
Bevor wir beginnen, müssen wir den Standard-Cache-Treiber in Memcached ändern:
'default' => env('CACHE_DRIVER', 'memcached'),
Außerdem gibt es das letzte Konfigurationselement-Präfix in der Konfigurationsdatei config/cache.php, wird zum Konfigurieren des Cache-Schlüssels verwendet. Bei speicherbasierten Caching-Systemen können Cache-Elemente von mehreren Anwendungen auf demselben Host verwendet werden. Daher muss ein Präfix hinzugefügt werden, um die Unterscheidung anzuzeigen. Hier verwenden wir laravelacademy als Präfix:
'prefix' => 'laravelacademy',
Ich hoffe, dieser Artikel wird für alle hilfreich sein, die PHP-Programmierung auf Basis des Laravel-Frameworks durchführen möchten.
Weitere Artikel zur Konfiguration des Laravel Memcached-Cache-Treibers und zur Analyse der Anwendungsmethode finden Sie auf der chinesischen PHP-Website!