Heim php教程 PHP开发 Detaillierte Erläuterung des ecshop-Datenbankabfragecaches

Detaillierte Erläuterung des ecshop-Datenbankabfragecaches

Dec 14, 2016 pm 04:29 PM

Die Abfrage-Cache-Datei befindet sich im Verzeichnis ecshop/upload/temp/query_cache.
Schreiben Sie ein Testdatei-Tutorial test1.php unter ecshop/upoad/, um den Abfrage-Cache zu testen.
Der Code lautet wie folgt:

PHP-Code
1. // Die ersten drei Sätze dienen hauptsächlich dazu, einige Initialisierungsarbeiten durchzuführen, damit ich das verwenden kann Klassenbibliotheksfunktionen in ecshop usw.
3. define('ECS_ADMIN', true);
5 /init.php')
6. /*******
7. Die GetALLCached-Funktion übernimmt hier einen Parameter einer SQL-Anweisung,
8. Hier können Sie diese Funktion einfach als eine Operation zum Ausführen einer SQL-Abfrage verstehen, um Ergebnisse zu erhalten.
9. *******/
10

ecs->table( "article") . " WHERE cat_id != 0 AND is_open = 1 AND open_type = 0 ORDER BY Article_id DESC LIMIT 0,4"); . /*

15. Array

16. (
17. [0] => Array
18. (
19 .                                                                                                                                                      🎜>24. [article_id ] => 🎜>29.  [2] => Array
30. (
31. [article_id] => 32. [title] => Handyspiel-Download
33 . )
34 . 
35. [3] => Array
37. [article_id] => 38. [title] => Mobile Werbung
39. )
PHP-Code

1273944294a:4:{i:0;a:2:{ s:10:"article_id";s:2 :"35";s:5:"title";s:27:"Ich entscheide über die Welt von „Wo““;}i:1;a:2:{s :10:"article_id";s:2:" 34";s:5:"title";s:14:"Popularisierung des 3G-Wissens";}i:2;a:2:{s:10:"article_id ";s:2:"32";s:5 :"title";s:18:"Handyspiel-Download";}i:3;a:2:{s:10:"article_id";s:2: "31";s:5:"title";s :31:"Nokia 6681 Handy-Werbewertschätzung";}}

Ich habe herausgefunden, dass es sich um eine Zeichenfolge verarbeiteter Dinge handelt (tatsächlich von der Serialisierung verarbeitet). Funktion)
Die Dinge in diesem SQLcache sind tatsächlich das, was ich gerade gedruckt habe. Das Ergebnis von print_r($article_array) kommt heraus.
Die Funktion $db->GetALLCached() wird gerade in der Datei test1.php verwendet.
Sie stammt aus der Datei ecshop/upload/includes/cls_mysql Tutorial.php.
GetALLCached() Diese Funktion wird Anruf An die beiden Funktionen, die tatsächlich den Cache verarbeiten (die SQLcache-Datei gerade).
Die erste Funktion ist setSqlCacheData

PHP-Code
1. Wenn das Ergebnis nicht zwischengespeichert wird, wird diese Funktion zuerst ausgeführt. Die Funktion dieser Funktion besteht darin, das von SQL erhaltene Ergebnisarray zu serialisieren und zu speichern es unter einem bestimmten Pfad
4

5. Funktion setSqlCacheData($result, $data)  
6.     {  
7.         if ($result['storecache'] === true && $result['filename'])  
8.         {  
9.             @file_put_contents($result['filename'], '' . time() . serialize($data));  
10.             clearstatcache();  
11.         }  
12.     }  
 第二个函数是getSqlCacheData
Php代码 
1. /*******
2.
3. Die Hauptfunktion dieser Funktion besteht darin, die serialisierten Dateien aus der SQLcache-Datenbankabfrage-Cache-Datei wiederherzustellen.
4. Wenn eine bestimmte SQL-Anweisung erneut ausgeführt wird, wird das Ergebnis der SQL-Anweisung zwischengespeichert, sodass keine Datenbankabfrage mehr erforderlich ist und es direkt aus der Cache-Datei gelesen werden kann.
5. ******/   
6.

 Funktion getSqlCacheData($sql, $cached = '')  
7.     {  
8.         $sql = trim($sql);  
9.   
10.         $result = array();  
11.         $result['filename'] = $this->root_path . $this->cache_data_dir . 'sqlcache_' . abs(crc32($this->dbhash . $sql)) . '_' . md5($this->dbhash . $sql) . '.php';  
12.   
13.         $data = @file_get_contents($result['filename']);  
14.         if (isset($data{23}))  
15.         {  
16.             $filetime = substr($data, 13, 10);  
17.             $data     = substr($data, 23);  
18.               
19.             if (($cached == 'FILEFIRST' && time() > $filetime + $this->max_cache_time) || ($cached == 'MYSQLFIRST' && $this->table_lastupdate($this->get_table_name ($sql)) > $filetime))  
20.             {  
21.                 $result['storecache'] = true;  
22.             }  
23.             sonst  
24.             {  
25.                 $result['data'] = @unserialize($data);  
26.                 if ($result['data'] === false)  
27.                 {  
28.                     $result['storecache'] = true;  
29.                 }  
30.                 sonst  
31.                 {  
32.                     $result['storecache'] = false;  
33.                 }  
34.             }  
35.         }  
36.         sonst  
37.         {  
38.             $result['storecache'] = true;  
39.         }  
40.   
41.         $result zurückgeben;  
42.     }   

 更多相关文章请关注PHP中文网(www.php.cn)!


Erklärung dieser Website
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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. Crossplay haben?
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Wo werden Videodateien im Browser-Cache gespeichert? Wo werden Videodateien im Browser-Cache gespeichert? Feb 19, 2024 pm 05:09 PM

In welchem ​​Ordner speichert der Browser das Video? Wenn wir den Internetbrowser täglich nutzen, schauen wir uns häufig verschiedene Online-Videos an, z. B. Musikvideos auf YouTube oder Filme auf Netflix. Diese Videos werden während des Ladevorgangs vom Browser zwischengespeichert, sodass sie bei späterer erneuter Wiedergabe schnell geladen werden können. Die Frage ist also: In welchem ​​Ordner werden diese zwischengespeicherten Videos tatsächlich gespeichert? Verschiedene Browser speichern zwischengespeicherte Videoordner an unterschiedlichen Orten. Im Folgenden stellen wir einige gängige Browser und deren Funktionen vor

So zeigen Sie den DNS-Cache unter Linux an und aktualisieren ihn So zeigen Sie den DNS-Cache unter Linux an und aktualisieren ihn Mar 07, 2024 am 08:43 AM

DNS (DomainNameSystem) ist ein System, das im Internet verwendet wird, um Domänennamen in entsprechende IP-Adressen umzuwandeln. In Linux-Systemen ist DNS-Caching ein Mechanismus, der die Zuordnungsbeziehung zwischen Domänennamen und IP-Adressen lokal speichert, was die Geschwindigkeit der Domänennamenauflösung erhöhen und die Belastung des DNS-Servers verringern kann. DNS-Caching ermöglicht es dem System, die IP-Adresse schnell abzurufen, wenn es anschließend auf denselben Domänennamen zugreift, ohne jedes Mal eine Abfrageanforderung an den DNS-Server senden zu müssen, wodurch die Netzwerkleistung und -effizienz verbessert wird. In diesem Artikel erfahren Sie, wie Sie den DNS-Cache unter Linux anzeigen und aktualisieren, sowie zugehörige Details und Beispielcode. Bedeutung des DNS-Cachings In Linux-Systemen spielt das DNS-Caching eine Schlüsselrolle. seine Existenz

Beschleunigen Sie Ihre Anwendungen: Eine einfache Anleitung zum Guava-Caching Beschleunigen Sie Ihre Anwendungen: Eine einfache Anleitung zum Guava-Caching Jan 31, 2024 pm 09:11 PM

Erste Schritte mit Guava Cache: Beschleunigen Sie Ihre Anwendungen. Guava Cache ist eine leistungsstarke In-Memory-Caching-Bibliothek, die die Anwendungsleistung erheblich verbessern kann. Es bietet eine Vielzahl von Caching-Strategien, darunter LRU (zuletzt verwendet), LFU (zuletzt verwendet) und TTL (Lebensdauer). 1. Installieren Sie den Guava-Cache und fügen Sie Ihrem Projekt die Abhängigkeit der Guava-Cache-Bibliothek hinzu. com.goog

Werden HTML-Dateien zwischengespeichert? Werden HTML-Dateien zwischengespeichert? Feb 19, 2024 pm 01:51 PM

Titel: Caching-Mechanismus und Codebeispiele für HTML-Dateien. Einführung: Beim Schreiben von Webseiten stoßen wir häufig auf Probleme mit dem Browser-Cache. In diesem Artikel wird der Caching-Mechanismus von HTML-Dateien ausführlich vorgestellt und einige spezifische Codebeispiele bereitgestellt, um den Lesern zu helfen, diesen Mechanismus besser zu verstehen und anzuwenden. 1. Browser-Caching-Prinzip Im Browser prüft der Browser bei jedem Zugriff auf eine Webseite zunächst, ob sich eine Kopie der Webseite im Cache befindet. Wenn dies der Fall ist, wird der Inhalt der Webseite direkt aus dem Cache abgerufen. Dies ist das Grundprinzip des Browser-Caching. Vorteile des Browser-Caching-Mechanismus

Erweiterte Verwendung von PHP APCu: Die verborgene Kraft freisetzen Erweiterte Verwendung von PHP APCu: Die verborgene Kraft freisetzen Mar 01, 2024 pm 09:10 PM

PHPAPCu (Ersatz für PHP-Cache) ist ein Opcode-Cache- und Daten-Cache-Modul, das PHP-Anwendungen beschleunigt. Das Verständnis seiner erweiterten Funktionen ist entscheidend, um sein volles Potenzial auszuschöpfen. 1. Batch-Betrieb: APCu bietet eine Batch-Betriebsmethode, mit der eine große Anzahl von Schlüssel-Wert-Paaren gleichzeitig verarbeitet werden kann. Dies ist nützlich für umfangreiche Cache-Löschvorgänge oder Aktualisierungen. //Cache-Schlüssel stapelweise abrufen $values=apcu_fetch(["key1","key2","key3"]); //Cache-Schlüssel stapelweise löschen apcu_delete(["key1","key2","key3"]) ;2 .Cache-Ablaufzeit festlegen: Mit APCu können Sie eine Ablaufzeit für Cache-Elemente festlegen, sodass diese nach einer bestimmten Zeit automatisch ablaufen.

So speichern Sie Videodateien aus dem Browser-Cache lokal So speichern Sie Videodateien aus dem Browser-Cache lokal Feb 23, 2024 pm 06:45 PM

So exportieren Sie Browser-Cache-Videos Mit der rasanten Entwicklung des Internets sind Videos zu einem unverzichtbaren Bestandteil des täglichen Lebens der Menschen geworden. Beim Surfen im Internet stoßen wir oft auf Videoinhalte, die wir speichern oder teilen möchten, aber manchmal können wir die Quelle der Videodateien nicht finden, weil sie möglicherweise nur im Cache des Browsers vorhanden sind. Wie exportieren Sie also Videos aus Ihrem Browser-Cache? In diesem Artikel werden Ihnen mehrere gängige Methoden vorgestellt. Zunächst müssen wir ein Konzept klären, nämlich den Browser-Cache. Der Browser-Cache wird vom Browser verwendet, um die Benutzererfahrung zu verbessern.

Caching-Mechanismus und Anwendungspraxis in der PHP-Entwicklung Caching-Mechanismus und Anwendungspraxis in der PHP-Entwicklung May 09, 2024 pm 01:30 PM

In der PHP-Entwicklung verbessert der Caching-Mechanismus die Leistung, indem er häufig aufgerufene Daten vorübergehend im Speicher oder auf der Festplatte speichert und so die Anzahl der Datenbankzugriffe reduziert. Zu den Cache-Typen gehören hauptsächlich Speicher-, Datei- und Datenbank-Cache. In PHP können Sie integrierte Funktionen oder Bibliotheken von Drittanbietern verwenden, um Caching zu implementieren, wie zum Beispiel Cache_get() und Memcache. Zu den gängigen praktischen Anwendungen gehören das Zwischenspeichern von Datenbankabfrageergebnissen zur Optimierung der Abfrageleistung und das Zwischenspeichern von Seitenausgaben zur Beschleunigung des Renderings. Der Caching-Mechanismus verbessert effektiv die Reaktionsgeschwindigkeit der Website, verbessert das Benutzererlebnis und reduziert die Serverlast.

Ein tiefer Einblick in die PHP-Caching-Technologie: Der Schlüssel zur Beschleunigung der Website-Leistung Ein tiefer Einblick in die PHP-Caching-Technologie: Der Schlüssel zur Beschleunigung der Website-Leistung Jan 23, 2024 am 08:37 AM

Erkundung der PHP-Caching-Technologie: ein leistungsstarkes Tool zur Verbesserung der Website-Leistung, spezifische Codebeispiele sind erforderlich. Einführung: Angesichts der rasanten Entwicklung des heutigen Internets ist die Website-Leistung von entscheidender Bedeutung für das Benutzererlebnis und das Suchmaschinen-Ranking. Als häufig verwendete Programmiersprache wird PHP häufig in der Website-Entwicklung eingesetzt. Wie die Leistung von PHP-Websites verbessert werden kann, ist für Entwickler zu einem dringenden Problem geworden. Eine der sehr wichtigen Lösungen ist die Verwendung der PHP-Caching-Technologie. In diesem Artikel werden das Konzept und die spezifische Technologie des PHP-Caching untersucht und Codebeispiele bereitgestellt, um den Lesern das Verständnis zu erleichtern

See all articles