Heim  >  Artikel  >  PHP-Framework  >  Detaillierte Erläuterung der Laravel-MySQL-Tabellenoptimierung

Detaillierte Erläuterung der Laravel-MySQL-Tabellenoptimierung

藏色散人
藏色散人nach vorne
2021-02-05 16:24:182811Durchsuche

Die folgende Tutorial-Kolumne von Laravel gibt Ihnen eine detaillierte Erklärung der Laravel-MySQL-Tabellenoptimierung. Ich hoffe, dass sie Freunden in Not hilfreich sein wird!

Detaillierte Erläuterung der Laravel-MySQL-Tabellenoptimierung

1. Konfigurationsinformations-Caching

Verwenden Sie den folgenden integrierten Artisan-Befehl, um alle Konfigurationsinformationen im Konfigurationsordner in einer Datei zusammenzuführen, um die Anzahl der zur Laufzeit geladenen Dateien zu reduzieren:

php artisan config:cache

Der obige Befehl wird Wenn Sie eine Datei „bootstrap/cache/config.php“ generieren, können Sie den folgenden Befehl verwenden, um den Cache für Konfigurationsinformationen abzubrechen:

php artisan config:clear

Dieser Befehl löscht die Datei „bootstrap/cache/config.php“.

Hinweis: Der Konfigurationsinformationscache wird bei Updates nicht automatisch neu geladen. Daher wird empfohlen, den Konfigurationsinformationscache während der Entwicklung zu deaktivieren. Er wird im Allgemeinen in Produktionsumgebungen verwendet und kann mit dem Envoy-Task-Runner verwendet werden.

2. Routen-Cache

Routen-Cache kann die Registrierungseffizienz des Routers effektiv verbessern, und der Effekt ist bei großen Anwendungen deutlicher. Sie können den folgenden Befehl verwenden:

php artisan route:cache

Der obige Befehl generiert den Bootstrap/Cache/. Routen.php-Datei. Es ist zu beachten, dass der Routen-Cache keine Routing-Logik zum Schreiben anonymer Funktionen unterstützt.

Mit dem folgenden Befehl können Sie den Routing-Cache leeren:

php artisan route:clear

Mit diesem Befehl wird die Datei „bootstrap/cache/routes.php“ gelöscht.

Hinweis: Der Routen-Cache wird bei Updates nicht automatisch neu geladen. Daher wird empfohlen, den Routen-Cache während der Entwicklung zu deaktivieren. Er wird im Allgemeinen in Produktionsumgebungen verwendet und kann mit dem Envoy-Task-Runner verwendet werden.

3. Optimierung des Ladens von Klassenzuordnungen

Der Befehl „optimize“ führt häufig geladene Klassen in einer Datei zusammen, um die Betriebseffizienz durch Reduzierung des Dateiladens zu verbessern:

php artisan activate --force

generiert Bootstrap/Cache/ Es werden zwei Dateien kompiliert. php und bootstrap/cache/services.json.

Sie können zusammenzuführende Klassen hinzufügen, indem Sie die Datei config/compile.php ändern.

In der Produktionsumgebung muss der Parameter --force nicht angegeben werden, die Datei wird automatisch generiert.

Um die Optimierung für das Laden von Klassenkarten zu löschen, führen Sie den folgenden Befehl aus:

php artisan clear-compiled

Dieser Befehl löscht die beiden oben von der Optimierung generierten Dateien.

Hinweis: Dieser Befehl muss nach php artisan config:cache ausgeführt werden, da der Optimierungsbefehl Dateien basierend auf Konfigurationsinformationen generiert (z. B. dem Provider-Array der Datei config/app.php).

4. Automatische Ladeoptimierung

Dieser Befehl gilt nicht nur für Laravel-Programme, sondern gilt auch für alle mit Composer erstellten Programme. Dieser Befehl konvertiert PSR-0 und PSR-4 in eine Klassenzuordnungstabelle, um die Ladegeschwindigkeit der Klassen zu verbessern.

composer dumpautoload -o

Hinweis: Dieser Vorgang wurde bereits im PHP-Artisan-Befehl „optimize --force“ ausgeführt.

5. Verwenden Sie Memcached, um Sitzungen zu speichern. Durch Ändern der Sitzungsspeichermethode wird empfohlen, die Sitzungskonfigurationsinformationen in Memcached zu ändern Redis usw. Professionelle Cache-Software:

'driver' => 'memcached',

6. Verwenden Sie einen professionellen Cache-Treiber

„Cache“ ist eine der magischen Waffen, um die Laufeffizienz von Anwendungen zu verbessern Da der Treiber ein Datei-Cache ist, wird empfohlen, auf ein professionelles Caching-System wie Redis oder Memcached umzusteigen. Es wird nicht empfohlen, Datenbank-Caching zu verwenden.

'default' => 'redis',

7. Datenbankanforderungsoptimierung

Verwenden Sie beim Lesen des Datenzuordnungsmodells das verzögerte Vorladen.

Verwenden Sie Laravel Debugbar oder Clockwork, um auf die gesamten Datenbankanforderungen jeder Seite zu achten Menge;

Der Platz hier deckt nur Dinge ab, die sich auf Laravel beziehen. Weitere Inhalte zur Datenoptimierung finden Sie in anderen Materialien.

8. Schreiben Sie die Caching-Logik für den Datensatz.

Verwenden Sie den von Laravel bereitgestellten Cache-Layer-Vorgang ordnungsgemäß, um den aus der Datenbank entnommenen Datensatz zu zwischenspeichern, um den Druck auf den Speicher zu verringern Das Lesen von Daten ist auch viel schneller als bei Datenbanken.

$posts = Cache::remember('index.posts', $minutes = 30, function()
{
return Post::with('comments', 'tags', 'author', 'seo')->whereHidden(0)->get();
});

Denken Sie daran Sogar das Datenassoziationsmodell wird zwischengespeichert, wie praktisch.

9. Mit dem Just-in-Time-Compiler

HHVM und OpCache können Sie die Leistung Ihrer Anwendung problemlos um 50 % oder mehr verbessern, ohne dass zuvor Änderungen vorgenommen wurden. Weitere Informationen finden Sie unter: Verwendung von OpCache zur Verbesserung PHP 5.5+ Programmleistung.

10. Front-End-Ressourcenzusammenführung

Als Optimierungsstandard sollte eine Seite nur eine CSS- und eine JS-Datei laden, und auf die Datei muss leicht über CDN zugegriffen werden können, und der Dateiname muss sich bei Änderung ändern .

Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der Laravel-MySQL-Tabellenoptimierung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:csdn.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen