Vorwort:
Während der Entwicklung von MooPHP wurden die beiden am häufigsten verwendeten Caching-Methoden getestet, um eine effizientere Caching-Methode zu finden.
Gängige Caching-Methoden in PHP:
Die erste besteht darin, die Daten, die zwischengespeichert werden müssen, zu verarbeiten und eine Datei zu erstellen, die direkt von PHP ausgeführt werden kann. Wenn Sie Daten zwischenspeichern müssen, führen Sie sie über Include ein und verwenden Sie sie.
Zweitens serialisieren Sie die erforderlichen Daten über die Serialisierungsfunktion und speichern Sie sie direkt in der Datei. Wenn Sie zwischengespeicherte Daten verwenden müssen, lesen Sie den Dateiinhalt durch Deserialisierung, kopieren Sie ihn in die erforderlichen Variablen und verwenden Sie ihn dann.
Testergebnisse:
Durch Tests haben wir herausgefunden, dass die zweite Möglichkeit, Daten über Serialisierung zwischenzuspeichern, effizienter ist. (Die Daten werden weggelassen und die Artikeladresse wird am Ende zum Download bereitgestellt, sodass Sie sie selbst testen können.)
Ursachenanalyse:
Beim Lesen des Caches im Include-Modus muss PHP mehrere Prozesse ausführen
1. Lesen Sie die Datei
2. Analysieren Sie die enthaltenen Dateien
3. Ausführung, wenn einer Variablen ein Wert zugewiesen
und der Cache mithilfe von Serialize gelesen wird:
1.Daten lesen
2. Deserialisieren Sie den Dateninhalt
3. Weisen Sie Variablen Werte zu
. Aus dem obigen Vergleich geht hervor, dass die zum Parsen des Arrays in der PHP-Datei erforderliche Zeit die zum Deserialisieren des Arrays erforderliche Zeit überschreitet. Wenn Sie interessiert sind, können Sie sich „Research on Performance Efficiency of PHP filesystem related Functions and include require“ ansehen: http://www.ccvita.com/163.html
Testdateicode:
Download-Adresse: MooPHP-CacheTest.zip
Ursprüngliche Adresse: http://www.ccvita.com/311.html Neue Forschungsergebnisse werden hier aktualisiert.
CacheTest_IncludeFile.php
von CacheTest_SerializeFile.php
:
Der erste Vorteil des Einschließen-Cachings besteht darin, dass die Vertraulichkeit und Sicherheit der Daten erhöht wird und der zwischengespeicherte Inhalt von der Außenwelt nicht entdeckt wird.
Nachteile: Relativ langsam.
Zweck: Speichern Sie Daten, die außerhalb des Systems nicht bekannt sein dürfen, z. B. Websystemeinstellungen oder sogar MySQL-Informationen. Zweitens besteht der Vorteil der Serialisierungs-Cache-Methode darin, dass sie schneller ist.
Nachteile: Wenn der Dateipfad des Cache-Systems offengelegt wird, wird der Cache-Inhalt durchgesickert.
Zweck: Diese Methode kann beim Zwischenspeichern der neuesten Artikel, verwandten Artikel usw. verwendet werden, wenn Sie sich keine Sorgen um extern erhaltene Daten machen.
Bemerkung:
Wenn PHP-Speichercaches wie EA und APC installiert sind, ist die erste Methode zum Lesen des Caches über include schneller als die zweite Methode zum Serialisieren des Caches. Daher werden im MooPHP-Framework nicht-sensible Informationen auf die zweite Art und Weise zwischengespeichert; sensible Informationen werden auf die erste Art zwischengespeichert. Eine Einführung in MooPHP finden Sie im Artikel „Einführung in das MooPHP Framework“ (Adresse: http://www.ccvita.com/295.html ).