Über die Caching-Methode von Laravel

不言
Freigeben: 2023-04-01 06:46:02
Original
1672 Leute haben es durchsucht

In diesem Artikel werden hauptsächlich relevante Informationen zum Teilen einer nützlichen Caching-Methode in Laravel vorgestellt.

Das von Laravel bereitgestellte Caching-Tool ist sehr einfach zu verwenden. Das Handbuch stellt einige grundlegende Verwendungsmöglichkeiten vor , wie zum Beispiel „get“, „put“, „forever“ usw. Zuerst habe ich es wie folgt verwendet:

if (!$article = Cache::get('article_1')) {
    $article = Article::find(1);
    Cache::forever('article_1',$article);
}
Nach dem Login kopieren

Dies ist die einfachste Verwendung. Es wird automatisch festgestellt, ob der Cache vorhanden ist. Es wird aus dem Datenbank-Schreibcache abgerufen.

Später habe ich herausgefunden, dass das Modell auch mit den Methoden „remember“ und „rememberForever“ ausgestattet ist. Das kann zum Beispiel so sein:

$article = Article::rememberForever('article_1')->where('id','=',1);
Nach dem Login kopieren

Dies hat Einschränkungen und kann die Daten bei komplexen Abfragen nicht vollständig zwischenspeichern. Verwenden Sie beispielsweise with() zum Voreinstellen. Die zugehörigen Daten können nicht zwischengespeichert werden, während die zugehörigen Daten geladen werden.

Dann habe ich herausgefunden, dass Cache auch Makromethoden wie Response anpassen kann, also habe ich Folgendes versucht:

//注册缓存存取宏
Cache::macro('want',function($key,$minutes=0,$callback){
    if (!$data = Cache::get($key)) {
        $data = call_user_func($callback);
        if ($minutes == 0) {
            Cache::forever($key,$data);
        } else {
            Cache::put($key,$data,$minutes);
        }
    }
    return $data;
});
Nach dem Login kopieren

Diese Methode kann in bootstrap/start.php oder im Filter In App platziert werden: :before(), es ist praktisch für Ihr eigenes Projekt. Mal sehen, wie man es verwendet:

$id = Input::get('id');
$article = Cache::want('article_'.$id,0,function() use ($id){
    return Article::with('tags')->findOrFail($id,['id','cid','title','content_html as content','created_at','updated_at']);
});
Nach dem Login kopieren

Ich persönlich mag diese Art zu schreiben. Ich hoffe, dass Ihnen allen der Inhalt dieses Artikels gefällt.

Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, er wird für das Studium aller hilfreich sein. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website.

Verwandte Empfehlungen:

Analyse des Problems, dass mehrere Prozesse in Laravel Redis gleichzeitig Warteschlangen beanspruchen

Über Datenmigration und -entwicklung in Laravel Analyse der Datenfüllung

Das obige ist der detaillierte Inhalt vonÜber die Caching-Methode von Laravel. 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
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!