[codeigniter 5], Cache abfragen
Datenbank-Cache-Klasse
Mit der Datenbank-Cache-Klasse können Sie Datenbankabfrageergebnisse in Textdateien speichern, um den Datenbankzugriff zu reduzieren.
Wichtig
Wenn Caching aktiviert ist, wird diese Klasse automatisch vom Datenbanktreiber geladen. Laden Sie sie nicht manuell.
Wichtig
Nicht alle Abfrageergebnisse können zwischengespeichert werden. Bitte lesen Sie den Inhalt dieser Seite sorgfältig durch.
Cache aktivieren
Das Aktivieren des Caches erfordert drei Schritte:
- Erstellen Sie ein beschreibbares Verzeichnis auf dem Server, um Cache-Dateien zu speichern;
- Legen Sie den Verzeichnispfad über den Parameter „cachedir“ in der Datei „application/config/database.php“ fest.
- Durch Setzen des Parameters „cache_on“ in der Datei „application/config/database.php“ auf TRUE können Sie auch Folgendes verwenden: Die folgende Methode wird manuell konfiguriert.
Sobald das Caching aktiviert ist, wird eine Seite jedes Mal, wenn sie geladen wird, automatisch zwischengespeichert, solange die Seite Datenbankabfragen enthält.
Wie funktioniert Caching?
Das Abfrage-Caching-System von CodeIgniter wird automatisch ausgeführt, wenn Sie eine Seite besuchen. Wenn das Caching aktiviert ist, wird das Abfrageergebnisobjekt beim ersten Laden der Seite serialisiert und in einer Textdatei auf dem Server gespeichert. Wenn Sie das nächste Mal auf die Seite zugreifen, wird die Cache-Datei direkt verwendet, ohne auf die Datenbank zuzugreifen. Auf diese Weise wird Ihr Datenbankzugriff für die zwischengespeicherte Seite auf 0 reduziert.
Nur Abfragen vom Lesetyp (SELECT) können zwischengespeichert werden, da nur diese Art von Abfrage Ergebnisse liefert. Schreibabfragen (INSERT, UPDATE usw.) generieren keine Ergebnisse und werden daher nicht zwischengespeichert.
Cache-Dateien laufen nie ab und alle Abfragen bleiben verfügbar, solange sie zwischengespeichert werden, es sei denn, Sie löschen sie. Sie können den Cache für bestimmte Seiten oder den gesamten Cache löschen. Im Allgemeinen können Sie die folgende Funktion verwenden, um den Cache zu leeren, wenn bestimmte Ereignisse auftreten (z. B. wenn Daten zur Datenbank hinzugefügt werden).
Kann Caching die Website-Leistung verbessern?
Ob durch Caching Leistungssteigerungen erzielt werden können, hängt von vielen Faktoren ab. Wenn Sie über eine stark optimierte Datenbank bei geringer Auslastung verfügen, stellen Sie möglicherweise keine Leistungsverbesserung fest. Und wenn auf Ihre Datenbank häufig zugegriffen wird, können Sie nach dem Zwischenspeichern Leistungsverbesserungen feststellen, sofern Ihr Dateisystem nicht zu viel Overhead hat. Beachten Sie, dass sich durch das Caching lediglich die Art und Weise ändert, wie Daten abgerufen werden, vom Zugriff auf die Datenbank bis zum Zugriff auf das Dateisystem.
Zum Beispiel ist Caching in einigen Cluster-Server-Umgebungen aufgrund zu häufiger Dateisystemvorgänge tatsächlich schädlich. Caching ist möglicherweise nur in einer gemeinsam genutzten Einzelserverumgebung von Vorteil. Leider gibt es keine einheitliche Antwort auf die Frage, ob Sie Ihre Datenbank zwischenspeichern müssen, es hängt alles von Ihrer Situation ab.
Wie werden Cache-Dateien gespeichert?
CodeIgniter speichert jede Abfrage in einer eigenen Cache-Datei, die basierend auf der aufgerufenen Controller-Methode weiter in entsprechenden Unterverzeichnissen organisiert ist. Genauer gesagt werden Unterverzeichnisse anhand der ersten beiden Segmente Ihres URI (Controllername und Methodenname) benannt.
Zum Beispiel haben Sie einen Blog-Controller und eine Kommentarmethode mit drei verschiedenen Abfragen. Das Caching-System erstellt ein Verzeichnis mit dem Namen blog+comments und generiert in diesem Verzeichnis drei Cache-Dateien.
Wenn Ihr URI dynamische Abfragen enthält (z. B. bei der Verwendung von Paging), generiert jede Abfrageinstanz eine eigene separate Cache-Datei. Daher kann die Anzahl der Cache-Dateien letztendlich der Anzahl der Abfragen auf Ihrem Browser entsprechen Seite. Dies ist mehrmals der Fall.
Verwalten Sie Ihre Cache-Dateien
Da Cache-Dateien nicht ablaufen, sollte es in Ihrer Anwendung einen Mechanismus zum Löschen des Caches geben. Nehmen wir beispielsweise an, dass dies der Fall ist a Der Blog ermöglicht Benutzern das Kommentieren. Wenn ein neuer Kommentar eingereicht wird, sollten Sie die Cache-Datei löschen, die der Controller-Methode entspricht, die den Kommentar anzeigt. Es gibt zwei verschiedene Methoden zum Löschen zwischengespeicherter Daten.
Nicht alle Datenbankmethoden sind Cache-kompatibel
Abschließend müssen wir darauf hinweisen, dass das zwischengespeicherte Ergebnisobjekt aus diesem Grund nur eine vereinfachte Version des Ergebnisobjekts ist , da mehrere Methoden zum Abfragen von Ergebnissen nicht verwendet werden können.
Die unten aufgeführten Methoden können nicht für zwischengespeicherte Ergebnisobjekte verwendet werden:
- num_fields()
- field_names()
- field_data ()
- free_result()
Gleichzeitig können die beiden IDs result_id und conn_id nicht verwendet werden, da diese beiden IDs nur für Echtzeit-Datenbankoperationen geeignet sind.
Funktionsreferenz
$this->db->cache_on() / $this->db->cache_off()
Zum manuellen Aktivieren/Deaktivieren des Cachings können diese beiden Methoden nützlich sein, wenn Sie bestimmte Abfragen nicht zwischenspeichern möchten. Beispiel:
// Turn caching on $this->db->cache_on(); $query = $this->db->query("SELECT * FROM mytable"); // Turn caching off for this one query $this->db->cache_off(); $query = $this->db->query("SELECT * FROM members WHERE member_id = '$current_user'"); // Turn caching back on $this->db->cache_on(); $query = $this->db->query("SELECT * FROM another_table");
$this->db->cache_delete()
Löscht die Cache-Datei für eine bestimmte Seite, wenn Sie Ihre aktualisieren Nützlich, wenn die Datenbank später gelöscht werden muss.
Das Cache-System schreibt den Cache entsprechend der URI der Seite, die Sie besuchen. Wenn Sie beispielsweise die Seite example.com/index.php/blog/comments besuchen, den Cache Das System speichert die Cache-Dateien im Blog+Kommentar-Verzeichnis. Um diese Cache-Dateien zu löschen, können Sie Folgendes verwenden:
$this->db->cache_delete('blog', 'comments');
如果你没提供任何参数,将会清除当前 URI 对应的缓存文件。
$this->db->cache_delete_all()
清除所有的缓存文件,例如:
$this->db->cache_delete_all();
版权声明:本文为博主原创文章,未经博主允许不得转载。
以上就介绍了[codeigniter 五]、查询缓存,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Viele Benutzer werden sich bei der Auswahl von Smartwatches für die Marke Huawei entscheiden. Viele Benutzer sind neugierig auf den Unterschied zwischen Huawei GT3pro und GT4. Was sind die Unterschiede zwischen Huawei GT3pro und GT4? 1. Aussehen GT4: 46 mm und 41 mm, das Material ist Glasspiegel + Edelstahlgehäuse + hochauflösende Faserrückschale. GT3pro: 46,6 mm und 42,9 mm, das Material ist Saphirglas + Titangehäuse/Keramikgehäuse + Keramikrückschale 2. Gesundes GT4: Mit dem neuesten Huawei Truseen5.5+-Algorithmus werden die Ergebnisse genauer. GT3pro: EKG-Elektrokardiogramm sowie Blutgefäß und Sicherheit hinzugefügt

Die Sache ist tatsächlich so. Zu diesem Zeitpunkt gab mir mein Leiter eine Perf-Hardware-Leistungsüberwachungsaufgabe. Während der Verwendung von Perf habe ich die folgenden Informationen eingegeben: Meine Aufgabe besteht darin, diese Cache-Ereignisse zu aktivieren normal gezählt werden. Aber der Punkt ist, ich habe keine Ahnung, was diese Fehlschläge und Belastungen bedeuten.

Warum das Snipping-Tool unter Windows 11 nicht funktioniert Das Verständnis der Grundursache des Problems kann dabei helfen, die richtige Lösung zu finden. Hier sind die häufigsten Gründe, warum das Snipping Tool möglicherweise nicht ordnungsgemäß funktioniert: Focus Assistant ist aktiviert: Dies verhindert, dass das Snipping Tool geöffnet wird. Beschädigte Anwendung: Wenn das Snipping-Tool beim Start abstürzt, ist es möglicherweise beschädigt. Veraltete Grafiktreiber: Inkompatible Treiber können das Snipping-Tool beeinträchtigen. Störungen durch andere Anwendungen: Andere laufende Anwendungen können mit dem Snipping Tool in Konflikt geraten. Das Zertifikat ist abgelaufen: Ein Fehler während des Upgrade-Vorgangs kann zu diesem Problem führen. Diese einfache Lösung ist für die meisten Benutzer geeignet und erfordert keine besonderen technischen Kenntnisse. 1. Aktualisieren Sie Windows- und Microsoft Store-Apps

Die Verwendung des Caches kann die Geschwindigkeit des Computers erhöhen, da der Cache die Wartezeit der CPU verkürzt. Cache ist ein kleiner, aber schneller Speicher, der zwischen der CPU und dem Hauptspeicher DRAM liegt. Die Funktion des Cache besteht darin, die Dateneingabe- und -ausgaberate der CPU zu erhöhen. Der Cache hat eine geringe Kapazität, aber eine hohe Geschwindigkeit, während die Speichergeschwindigkeit niedrig ist, aber eine große Kapazität aufweist. Durch die Optimierung des Planungsalgorithmus wird die Leistung des Systems verbessert stark verbessert.

In diesem Artikel zeigen wir Ihnen, wie Sie mehrere Spalten in PowerQuery per Drag & Drop neu anordnen. Beim Importieren von Daten aus verschiedenen Quellen kann es vorkommen, dass die Spalten nicht in der gewünschten Reihenfolge vorliegen. Durch die Neuordnung von Spalten können Sie diese nicht nur in einer logischen Reihenfolge anordnen, die Ihren Analyse- oder Berichtsanforderungen entspricht, sondern verbessert auch die Lesbarkeit Ihrer Daten und beschleunigt Aufgaben wie Filtern, Sortieren und Durchführen von Berechnungen. Wie ordne ich mehrere Spalten in Excel neu an? Es gibt viele Möglichkeiten, Spalten in Excel neu anzuordnen. Sie können einfach die Spaltenüberschrift auswählen und an die gewünschte Stelle ziehen. Dieser Ansatz kann jedoch umständlich werden, wenn es um große Tabellen mit vielen Spalten geht. Um Spalten effizienter neu anzuordnen, können Sie den erweiterten Abfrageeditor verwenden. Erweiterung der Abfrage

Cache wird als Cache-Speicher bezeichnet. Es handelt sich um einen Hochgeschwindigkeitsspeicher mit geringer Kapazität, der im Allgemeinen aus Hochgeschwindigkeits-SRAM besteht um die Lücke zwischen CPU und Speicher zu verringern oder zu beseitigen. Die Auswirkung des Geschwindigkeitsunterschieds zwischen ihnen auf die Systemleistung. Die Cache-Kapazität ist klein, aber schnell, die Speichergeschwindigkeit ist niedrig, aber die Kapazität ist groß. Durch die Optimierung des Planungsalgorithmus wird die Leistung des Systems erheblich verbessert.

ReactQuery-Datenbank-Plug-in: Methoden zum Implementieren des Datenimports und -exports, spezifische Codebeispiele sind erforderlich. Mit der weit verbreiteten Anwendung von ReactQuery in der Front-End-Entwicklung beginnen immer mehr Entwickler, es zur Datenverwaltung zu verwenden. In der tatsächlichen Entwicklung müssen wir häufig Daten in lokale Dateien exportieren oder Daten aus lokalen Dateien in die Datenbank importieren. Um diese Funktionen komfortabler umzusetzen, können Sie das ReactQuery-Datenbank-Plugin verwenden. Das ReactQuery-Datenbank-Plugin bietet eine Reihe von Methoden

Hier ist das Tutorial für das Nginx-Reverse-Proxy-Caching: Nginx installieren: sudoaptupdatesudoaptinstallnginx Reverse-Proxy konfigurieren: Nginx-Konfigurationsdatei öffnen: sudonano/etc/nginx/nginx.conf Fügen Sie die folgende Konfiguration im http-Block hinzu, um das Caching zu aktivieren: http{...proxy_cache_path /var/cache/nginxlevels=1:2keys_zone=my_cache:10mmax_size=10ginactive=60muse_temp_path=off;proxy_cache
