Heim Backend-Entwicklung PHP-Tutorial [codeigniter 5], Cache abfragen

[codeigniter 5], Cache abfragen

Jul 30, 2016 pm 01:31 PM
cache gt query this

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");
Nach dem Login kopieren

$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');
Nach dem Login kopieren

如果你没提供任何参数,将会清除当前 URI 对应的缓存文件。

$this->db->cache_delete_all()

清除所有的缓存文件,例如:

$this->db->cache_delete_all();
Nach dem Login kopieren

版权声明:本文为博主原创文章,未经博主允许不得转载。

以上就介绍了[codeigniter 五]、查询缓存,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

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

Video Face Swap

Video Face Swap

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

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)

Was sind die Unterschiede zwischen Huawei GT3 Pro und GT4? Was sind die Unterschiede zwischen Huawei GT3 Pro und GT4? Dec 29, 2023 pm 02:27 PM

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

Nachdem ich dem Unternehmen beigetreten war, verstand ich, was Cache ist. Nachdem ich dem Unternehmen beigetreten war, verstand ich, was Cache ist. Jul 31, 2023 pm 04:03 PM

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.

Fix: Snipping-Tool funktioniert unter Windows 11 nicht Fix: Snipping-Tool funktioniert unter Windows 11 nicht Aug 24, 2023 am 09:48 AM

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

Warum erhöht die Verwendung des Caches die Computergeschwindigkeit? Warum erhöht die Verwendung des Caches die Computergeschwindigkeit? Dec 09, 2020 am 11:28 AM

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.

So ordnen Sie mehrere Spalten in Power Query per Drag & Drop neu an So ordnen Sie mehrere Spalten in Power Query per Drag & Drop neu an Mar 14, 2024 am 10:55 AM

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

Was ist Cache? Was ist Cache? Nov 25, 2022 am 11:48 AM

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.

React Query-Datenbank-Plug-in: So importieren und exportieren Sie Daten React Query-Datenbank-Plug-in: So importieren und exportieren Sie Daten Sep 26, 2023 pm 05:37 PM

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

Tutorial zum Nginx-Reverse-Proxy-Caching. Tutorial zum Nginx-Reverse-Proxy-Caching. Feb 18, 2024 pm 04:48 PM

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

See all articles