Kohärenter Betrieb der ThinkPHP5-Framework-Datenbank: Details zur Cache()-Nutzung

jacklove
Freigeben: 2023-03-27 14:52:01
Original
1701 Leute haben es durchsucht

Das Beispiel in diesem Artikel beschreibt die Verwendung von Cache() für den kohärenten Betrieb der thinkPHP5-Framework-Datenbank. Teilen Sie es als Referenz mit allen. Die Details lauten wie folgt:

Einführung

Das Cache-System, das mit TP5 geliefert wird, ist ein Dateityp-Cache. Das heißt, Dateicache. Die Speicheradresse lautet: Stammverzeichnis..runtimecache (das Stammverzeichnis bezieht sich auf öffentlich).

Im Vergleich zu Redis weist dieses Cache-System definitiv Einschränkungen im Memcached auf, und die Komplexität automatischer Aktualisierungen und zwischengespeicherter Daten ist unterschiedlich. Für einige einfache Fragen ist es jedoch sehr hilfreich. Beispielsweise sind Artikel und andere Inhalte gut zu verwenden.

Cache kann für Auswahl-, Such-, Wert- und Spaltenmethoden sowie deren Ableitungsmethoden verwendet werden. Nach Verwendung der Cache-Methode wird der Datenbankabfragevorgang innerhalb des Cache-Gültigkeitszeitraums nicht erneut ausgeführt Daten im Cache werden direkt abgerufen. Informationen zu den Typen und Einstellungen des Datencaches finden Sie im Abschnitt „Cache“.

Speichercache

1. Einfache Speicherung

//Fragen Sie die Nachrichten mit der ID=10 in der Nachrichtentabelle ab und speichern Sie sie im Cache, um die konfigurierten Daten zu lesen Cache standardmäßig. Zeit, db(): Hilfsfunktion

db('news')->cache(true)->find(10);
 
//你也可以自定义时间,60秒表示
 
db('news')->cache(true,60)->find(10);
Nach dem Login kopieren

2. Cache-ID angeben

//Die Cache-ID kann verstanden werden als Schlüssel, das heißt, wenn Sie das Token eines Datenelements im Cache abrufen möchten, wird die ID=15 im Cache gespeichert und der angegebene Index ist Schlüssel

db('news')->cache('key')->find(15);
Nach dem Login kopieren

//Wenn Sie die ID =15 dieser Daten abrufen möchten

$data = \think\Cahce::get('key');
Nach dem Login kopieren

Sie können diese Daten überall lesen, sie ähneln session()

3. Die Cache-Methode unterstützt das Setzen von Cache-Tags

db('news')->cache('key',60,'tagName')->find(15);
Nach dem Login kopieren

Cache aktualisieren

Jetzt gibt es ein Problem, wenn Sie Das Projekt wird ausgeführt. Nach einiger Zeit werden viele Cache-Dateien generiert und es werden immer mehr Dateien verschwendet. Die Zeitverschwendung bei jeder Anforderung zum Auffinden der Cache-Datei ist möglicherweise langsamer als beim direkten Abfragen der Datenbank. Was sollen wir tun?

TP5 verfügt über eine automatische Cache-Aktualisierungsmethode. Das heißt, wenn dieselben Daten gelöscht oder aktualisiert werden, wird die alte Cache-Datei automatisch gelöscht.

/Frage den Cache mit der ID=328 ab

$list = db('news')->cache(true)->find(328);

// Zum Testen gehen Sie nun manuell zur Datenbank, um den Wert eines Felds mit der ID = 328 zu ändern, stellen dann erneut die erste Abfrageanforderung und stellen fest, dass sich das geänderte Feld in der Datenbank zu diesem Zeitpunkt nicht geändert hat ist der Cache des Lesevorgangs und dann

db('news')->update(['id'=>328,'title'=>'Test']);

//Zu diesem Zeitpunkt fordern Sie erneut an. Sie werden feststellen, dass sich die erhaltenen Daten geändert haben und sich nicht mehr zum Lesen im Cache befinden, da Sie einen Aktualisierungsvorgang durchgeführt und sie natürlich erneut in den Cache geschrieben haben Die Voraussetzung für die oben genannte Situation ist, dass die Primärschlüsselabfrage verwendet wird.

Das Beispiel in diesem Artikel beschreibt die Verwendung von Cache() für den kohärenten Betrieb der thinkPHP5-Framework-Datenbank. Weitere verwandte Inhalte erhalten Sie Aufmerksamkeit auf die chinesische PHP-Website.

Verwandte Empfehlungen:

So erhalten Sie die Mehrfachvererbung und Tarits der PHP-Schnittstelle, um Tutorialdetails zum Mehrfachvererbungseffekt zu erzielen

PHP Tutorial zum Start- und Enddatum der Woche eines bestimmten Jahres

Fragen, die häufig in PHP-String-Reversal-Interviews auftreten


Das obige ist der detaillierte Inhalt vonKohärenter Betrieb der ThinkPHP5-Framework-Datenbank: Details zur Cache()-Nutzung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle: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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage