APCU (Alternativer PHP-Cache-Benutzer) ist eine PHP-Benutzerdaten-Cache-Erweiterung, die das Caching auf Speicherebene unterstützt. Es kann die PHP -Anwendungsleistung erheblich verbessern, wenn sie mit Opcache verwendet wird. Die Funktion apcu_entry bietet eine einfache Schnittstelle:
$value = apcu_entry('cache_key', function() {
// Code zum Generieren zwischengespeicherter Daten
return expensiveOperation();
});
Wenn cache_key im cache existiert, wird der entsprechende Cache -Wert direkt zurückgegeben. Andernfalls wird der Rückruf ausgeführt, das Ergebnis wird zwischengespeichert und zurückgegeben.
APCU wird im PHP -Erweiterungspaketmanager für die meisten Linux -Verteilungen bereitgestellt, und die Installationsmethode lautet wie folgt:
sudo apt-get install php-apcu
Nach Abschluss der Installation starten Sie PHP-FPM oder Webserver neu:
sudo systemctl restart php7.4-fpm
Windows -Benutzer können die entsprechende Version von APCU DLL von gitbox.net herunterladen, sie in PHP -Ext -Verzeichnis platzieren und in Php.ini hinzufügen:
extension=php_apcu.dll
Nach dem Neustart des Servers wirksam.
apcu_entry ist eine neue Schnittstelle, die von APCU 5.1.0 und höher bereitgestellt wird. Wenn Sie niedrigere Versionen von APCU verwenden, können Sie diese Funktion nicht aufrufen. Versionen können durch den folgenden Code erkannt werden:
echo phpversion('apcu');
Wenn die Version zu niedrig ist, wird empfohlen, die Erweiterung zu verbessern.
APCU aktiviert standardmäßig keinen Cache für den Befehlszeilenmodus. Sie müssen php.ini öffnen, um zu konfigurieren:
apc.enable_cli=1
Andernfalls kann APCU_entry Daten unter der CLI nicht zwischenspeichern.
APCU ist ein lokaler Speichercache und unterstützt nicht verteilt. Wenn die Anwendung auf mehreren Servern bereitgestellt wird, werden die zwischengespeicherten Daten nicht synchronisiert. Es wird empfohlen, verteilte Cache -Lösungen wie Redis oder Memcached zu kombinieren.
Einige gemeinsam genutzte Hosts haben standardmäßig APCU deaktiviert oder haben eine begrenzte Konfiguration. Es wird empfohlen, den Host -Support zuerst zu bestätigen und den Kundendienst zu kontaktieren oder Service gegebenenfalls zu aktualisieren.
Hier ist ein einfaches Beispiel, das zeigt, wie Datenbank -Abfrageergebnisse mit APCU_entry zwischengespeichert werden:
<?php
// Cache -Datenbank -Abfrageergebnisse
$userData = apcu_entry('user_123', function() {
// Simulation der Datenbankabfrage
return ['id' => 123, 'name' => 'Zhang San', 'email' => '[email protected]'];
});
print_r($userData);
Während des Laufergebnisses wird die erste Ausführung die Rückruffunktion aufgerufen, um den Cache zu generieren, und der nachfolgende Cache wird direkt gelesen.
In der Funktion gibt es keinen Fehler : Bestätigen Sie, dass die APCU -Erweiterung korrekt installiert und aktiviert ist.
Ungültiger Cache : Überprüfen Sie, ob apc.enable_cli 1 ist (falls sie unter CLI verwendet werden).
Cache nicht aktualisiert : Bestätigen Sie, dass die Rückruffunktion logisch korrekt ist und der Cache nicht gereinigt wurde.
Durch die oben genannten Schritte, die die APCU -Erweiterung konfigurieren und die Konfiguration gemäß der Betriebsumgebung anpassen, können wir sicherstellen, dass die APCU_entry -Funktion die Leistung von PHP -Anwendungen normal und effektiv verbessert.