Heim  >  Artikel  >  Backend-Entwicklung  >  Über die Caching-Methode von Laravel

Über die Caching-Methode von Laravel

不言
不言Original
2018-06-13 16:56:341726Durchsuche

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);
}

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);

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;
});

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']);
});

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!

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