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);
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);
//Wenn Sie die ID =15 dieser Daten abrufen möchten
$data = \think\Cahce::get('key');
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);
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:
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!