Caching ein PHP-Array
Mein problem ist im erstellen eines großen verschachtelten PHP-array die Analyse von Informationen aus mehreren externen Quellen.
Auf die erste zurück, ich würde gerne cache diese Daten.
Im ziemlich neuen caching-also weiß nicht wirklich, was ich gesucht werden soll, keine gute oder schlechte Methoden oder auch wenn dies die gängige Praxis! Habe mal gegoogelt aber nicht wirklich gefunden was anständiges für einen cache-noob.
Im bereits mit smarty-cache meiner Seite, die Inhalte (mit Ausnahme der dynamischen bits), durchgeführt apache tweaks, minifying usw. um die Leistung zu erhöhen, aber das laden der Seiten ist immer noch viel zu lange. Manchmal bis zu 8 Sekunden!
PHP5 mit Smarty. Mit cURL Parsen der XML, die dann gespeichert werden in das array.
- überprüfen Sie die Leistung des Herunterladens xml-Daten mithilfe von CURL, ist immer Aufruf externer Ressourcen/Inhalte führen, dass die Leistung, NICHT die PHP selbst
- Dank ajreal für Ihren Kommentar. Nach der Lektüre Ihr Kommentar, ich habe lange gesucht und werden sich in der Verwendung von php multi_exec die Dinge laufen parallel. Ist dies der einzige Weg, um die verbessern mehrere BEKOMMEN und die BEITRÄGE analysieren? Alle anderen Tipps und tricks zur performance-Steigerung (andere als ein leistungsfähiger server LOL)
Du musst angemeldet sein, um einen Kommentar abzugeben.
Könnten Sie versuchen, den cache in eine Datei:
Dann, den cache zu laden:
Dies funktioniert, wenn die Dinge in deinem array sind serializable: keine DB-verbindungen oder Datei-handles, oder Dinge wie, dass. Zeichenketten und zahlen sind in Ordnung.
Wenn Sie etwas schicker, die Sie verwenden können, ein memory-Caches wie memcached.
filemtime()
.Wenn Sie Smarty template-engine, es existiert ein plugin für v3.1, aktivieren Sie APC (Alternative PHP Cache) als ein op-code-cache, Sie haben auch einen integrierten Speicher Bereich für den Blitz-schnellen Zugriff auf Daten.
Finden Sie hier : https://www.smarty.net/forums/viewtopic.php?p=86501&sid=efc098e0cfb090a94e8c0d362c609263#86501
haben Sie darüber nachgedacht, putting static $yourData = array(); in der Methode, wo man die Daten herunterladen dann testen, ob es gibt keine Daten in dieses statischen array und verwenden Sie diese, overwise Holen Sie sich die Daten? hoffe das hilft in irgendeiner Weise 😀