Heim  >  Artikel  >  Backend-Entwicklung  >  Verwendung des Datenbank-Cache() des thinkPHP5-Frameworks

Verwendung des Datenbank-Cache() des thinkPHP5-Frameworks

小云云
小云云Original
2018-01-11 11:08:496241Durchsuche

In diesem Artikel wird hauptsächlich die Verwendung von Cache () im kohärenten Betrieb der ThinkPHP5-Framework-Datenbank vorgestellt. Er analysiert die Anwendungsszenarien des Caches in ThinkPHP5 in Form von Beispielen und die Betriebsfähigkeiten zum Festlegen, Aktualisieren und Löschen des Caches In der kohärenten Operation können sich Freunde in Not darauf beziehen.

Einführung

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

Im Vergleich zu Redis weist Memcached in diesem Caching-System definitiv Einschränkungen auf, und es gibt Unterschiede in der Komplexität automatischer Aktualisierungen und zwischengespeicherter Daten. 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. Einfacher Speicher


//查询news表中id=10的新闻存储于cache中,写true默认读取配置的中缓存时间,db():助手函数
db('news')->cache(true)->find(10);
//你也可以自定义时间,60秒表示
db('news')->cache(true,60)->find(10);

2 . Geben Sie die Cache-ID an


//缓存标识可以理解为键,就是当你想要去取出缓存中的某条数据的令牌,id=15的存进cache并且给定下标为key
db('news')->cache('key')->find(15);
//当你想要去取出id=15的这条数据时候
$data = \think\Cahce::get('key');

Sie können diese Daten an jedem Ort lesen, ähnlich wie bei session()

3. Die Cache-Methode unterstützt Cache-Tags festlegen


db('news')->cache('key',60,'tagName')->find(15);

Cache aktualisieren

Jetzt gibt es ein Problem, wenn Sie Wenn das Projekt über einen längeren Zeitraum ausgeführt wird, werden immer mehr Cache-Dateien generiert. Die Zeit, die beim Suchen nach Cache-Dateien verschwendet wird, ist möglicherweise langsamer als beim direkten Abfragen der Datenbank. Was zu 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.

//查询id=328的存进cache
$list = db('news')->cache(true)->find(328);
//现在进行测试下,你手动去数据库修改id=328的某个字段的值,然后再次进行第一次的查询请求发现数据库修改的字段没变,这时候就是读取的缓存,然后
db('news')->update(['id'=>328,'title'=>'测试']);
//这时候你再次请求会发现获取的数据改变了 ,这时候不再是读取的缓存,因为你做了更新操作,重新写进缓存了,当然,以上说的这种情况前提是使用的主键查询的

Verwandte Empfehlungen:

Detaillierte Erläuterung der Verwendung der PHP-Clearstatcache()-Funktion

Empfohlene Artikel über PHP-Clearstatcache( ) Funktion

ThinkPHP3.1 Quick Start (4) Aufeinanderfolgende Operationen

Das obige ist der detaillierte Inhalt vonVerwendung des Datenbank-Cache() des thinkPHP5-Frameworks. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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