Heim >Backend-Entwicklung >PHP-Tutorial >Caching Hattrick: Zend Opcache, Etags und Abfrage Caching

Caching Hattrick: Zend Opcache, Etags und Abfrage Caching

Lisa Kudrow
Lisa KudrowOriginal
2025-02-17 09:29:12672Durchsuche

In diesem Artikel werden gemeinsame PHP -Caching -Techniken untersucht: Zend Opcache, Ablauf von Header und MySQL -Abfrage -Caching. Wir werden uns mit weiteren Strategien in einem nachfolgenden Artikel befassen.

Caching Hat-trick: Zend Opcache, Etags and Query Caching

Schlüsselvorteile:

  • Zend Opcache, Ablauf von Headers und MySQL -Abfrage -Caching steigern die PHP -Anwendungsgeschwindigkeit erheblich, indem sie den Anforderungslebenszyklus optimieren.
  • Vorinstalliert in PHP 5.5 speichert Zend Opcache vorkompilierte Bytecode im gemeinsamen Speicher, wobei sie wiederholtes Skript-Parsing und -vergleich vermieden werden.
  • läuft Header (Apache/Nginx) aus, die Browser -Caching für statische Assets (Bilder, CSS, JavaScript), Reduzierung der Serverlast und Verbesserung der Leistung.
  • MySQL Abfrage Caching speichert analyse SQL -Abfragen und deren Ergebnisse, beschleunigt nachfolgende identische Abfragen und Reduzierung des Datenbankdrucks.

Verständnis des Php -Anforderungslebenszyklus:

Bevor Sie mit dem Zwischenspeichern eintauchen, überprüfen wir den PHP -Anforderungsprozess:

  1. Dateiabruf: Die PHP -Datei wird aus dem Dateisystem des Servers abgerufen.
  2. lexikalische Analyse: Der Code wird zum Parsen in Token umgewandelt.
  3. Parsen: Der Code wird auf Syntaxfehler überprüft.
  4. OPCODE -Generierung: Token werden in ausführbare Maschinencode konvertiert.
  5. Ausführung: Der Maschinencode wird ausgeführt.

Caching-Techniken optimieren die Leistung, indem sie die Schritte 2-4 umgehen, den Ressourcenverbrauch minimieren und die Reaktionszeiten verbessern.

Zend Opcache:

Zend Opcache ist ein leicht verfügbarer Leistungsverstärker für PHP 5.5 und später. Überprüfen Sie die Installation mit php --version (prüfen Sie "Zend Opcache") oder phpinfo().

Aktivieren von Opcache:

Bearbeiten Sie Ihre php.ini -Datei, die Überzeugung opcache.enable=1 und starten Sie Ihren PHP -Dienst neu.

für PHP -Versionen vor 5.5, installieren Sie mit PECL: pecl install zendopcache-beta.

opcache -Konfiguration (php.ini oder /etc/php5/mods-available/opcache.ini):

Schlüsseleinstellungen:

  • opcache.memory_consumption: Shared Speichergröße (MB). Passen Sie basierend auf Serverressourcen und Anwendungsanforderungen an.
  • opcache.interned_strings_buffer: Speicher für internierte Zeichenfolgen (MB).
  • opcache.max_accelerated_files: Maximale Anzahl von zwischengespeicherten Dateien.
  • opcache.revalidate_freq: Frequenz (Sekunden), um nach Dateiänderungen zu prüfen (0 für immer Überprüfung, ideal für die Entwicklung).
  • opcache.max_file_size: große Dateien aus dem Caching (Bytes) ausschließen.
  • opcache.fast_shutdown: beschleunigt Dekonstruktoren (auf 1 eingestellt).

Verwenden Sie composer require amnuts/opcache-gui und sein index.php, um den Status und die Leistung von Opcache zu überwachen.

Caching Hat-trick: Zend Opcache, Etags and Query Caching

läuft Header (Apache) aus:

Apache mod_expires Modul ermöglicht das Browser -Caching statischer Vermögenswerte. Aktivieren Sie es mit:

<code class="language-bash">sudo a2enmod expires
sudo service apache2 restart</code>

Konfigurieren von Ablaufregeln in Ihrer virtuellen Hostkonfiguration von Apache:

<code class="language-apache"><ifmodule mod_expires.c>
ExpiresActive On
ExpiresDefault "access plus 1 day"
ExpiresByType image/png "access plus 10 days"
ExpiresByType text/css "access plus 25 days"
</ifmodule></code>

(Konsultieren Sie die NGINX -Dokumentation für die Nginx -Konfiguration.)

Caching Hat-trick: Zend Opcache, Etags and Query Caching

Mysql Abfrage Caching:

Für les-hungrige Anwendungen kann der Abfrage-Cache von MySQL die Leistung drastisch verbessern. Überprüfen Sie Ihre MySQL -Version (mysql --version). Aktivieren Sie für die Versionen 5.6.8 und später in my.cnf (z. B. /etc/mysql/my.cnf):

<code class="language-mysql"># * Query Cache Configuration
query_cache_type             = ON
query_cache_min_res_unit     = 4096
query_cache_limit            = 1M
query_cache_size             = 16M
query_cache_wlock_invalidate = OFF</code>

Einstellungen anhand der Kapazität und Aktualisierung der Häufigkeit Ihres Servers anpassen. Überwachen Sie die Cache -Verwendung mit SHOW STATUS LIKE "qcache%";.

Caching Hat-trick: Zend Opcache, Etags and Query Caching

Überlegungen zur Abfrage -Cache:

  • funktioniert nur mit SELECT Abfragen.
  • Abfragen müssen für Cache -Treffer identisch sein.
  • Nur deterministische Abfragen sind zwischengespeichert.
  • Tabelle aktualisiert den Cache ungültig.

Schlussfolgerung:

In diesem Artikel wurden grundlegende PHP -Caching -Strategien eingeführt. Teil 2 untersucht fortschrittliche Techniken wie Lack-, Memcached- und PHP -Caching -Bibliotheken.

häufig gestellte Fragen (FAQs): (Diese werden bereits im Haupttext beantwortet, sodass sie hier nicht wiederholt werden müssen.)

Das obige ist der detaillierte Inhalt vonCaching Hattrick: Zend Opcache, Etags und Abfrage Caching. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn