好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > 在 Laravel 6 中緩存數據庫查詢結果的方法

在 Laravel 6 中緩存數據庫查詢結果的方法

熱門標簽:山西回撥外呼系統 岳陽外呼型呼叫中心系統在哪里 揚州地圖標注app 昭通辦理400電話 騰訊外呼管理系統 河南電銷卡外呼系統哪家強 百應電話機器人服務 山西探意電話機器人 青島語音外呼系統招商

在加快應用程序速度方面,緩存可能是最有效的。Laravel 預先安裝了緩存驅動程序。因此你可以直接使用 Redis, Memcached 或者使用本地文件進行緩存操作。Laravel 附帶了此功能。

這一次,我們將討論直接從模型緩存 Eloquent 查詢,從而使數據庫緩存變的輕而易舉。

這個包可以在 GitHub 找到,此文檔將介紹該應用程序的所有要點。但是,這篇文章,我僅僅介紹緩存和清除緩存的知識。

安裝

可以通過 Composer 安裝

$ composer require rennokki/laravel-eloquent-query-cache

在你的模型中添加 use  QueryCacheable :

use Rennokki\QueryCache\Traits\QueryCacheable;class Article extends Model
{
  use QueryCacheable;  ...
}

默認情況下啟動緩存行為

默認情況下,該包不開啟查詢緩存。為此,可以在模型中添加 $cacheFor 變量。

use Rennokki\QueryCache\Traits\QueryCacheable;class Article extends Model
{
  use QueryCacheable;  protected $cacheFor = 180; // 3 minutes
}

每當執行一個查詢時,緩存將會干預。如果此查詢在緩存中為空,那么會去數據庫中獲取數據,并且緩存它,以便下次可以從緩存中獲取。如果此查詢存在于緩存中,那么直接返回。

// 數據庫訪問,查詢結果存儲在緩存中
Article::latest()->get();// 未訪問數據庫,查詢結果直接從緩存中返回。
Article::latest()->get();

如果你只是想要避免命中緩存,你可以在命中最后一個方法之前使用  ->dontCache() 。

Article::latest()->dontCache()->firstOrFail();

啟用逐個查詢的緩存行為

另一種方法是,如果默認情況下的緩存機制并不是太好的選擇,你可以啟用逐個查詢的緩存。

首先,從模型中移除變量 $cacheFor。

對于每個查詢,你可以調用 ->cacheFor(...) 方法去指定你想緩存的那個查詢。

Article::cacheFor(now()->addHours(24))->paginate(15);

用 tags 更好地組織緩存

一些緩存存儲,像 Redis 或者 Memcached,提供了對 key 的標記支持。這很有用,因為我們可以在緩存中標記查詢,并在需要時再通過 tag 使所需的緩存失效。

舉一個簡單的例子,如果我們要在更新一篇文章時使文章列表不進行緩存,你可以像這樣寫。

$articles = Article::cacheFor(60)->cacheTags(['latest:articles'])->latest()->get();
$article = Article::find($id);
$article->update(['title' => 'My new title']);
Article::flushQueryCache(['latest:articles']);

 flushQueryCache方法使用 latest:articles標記使緩存無效。如果其他的一些查詢中沒有被 latest:articles標記,那么將被保留緩存。

了解更多

有關此軟件包的更多信息,請在GitHub 上查看該項目。

PS:Laravel緩存

1,Cache:put('key','val',10);設置緩存

      鍵:key , 值:val  10:緩存時間十分鐘

2,Cache:add('key','val',10);

    設置緩存 key:鍵,val:值 10:緩存時間十分鐘
    (有返回值 : 已經有了緩存則返回false, 沒有則返回true并緩存)

3,Cache:forever('key','val');永久緩存

4,Cache:has('key');判斷緩存是否存在

5,Cache:get('key');獲取緩存

6,Cache:pull('key');獲取緩存一次并刪除緩存

7,Cache:get('key');刪除緩存,true刪除成功,false刪除失敗

總結

以上所述是小編給大家介紹的在 Laravel 6 中緩存數據庫查詢結果的方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網站的支持!
如果你覺得本文對你有幫助,歡迎轉載,煩請注明出處,謝謝!

您可能感興趣的文章:
  • 清除laravel緩存命令代碼實例
  • laravel清除視圖緩存的代碼
  • 在Laravel的Model層做數據緩存的實現
  • laravel使用Redis實現網站緩存讀取的方法詳解
  • laravel框架的緩存操作代碼實例

標簽:鎮江 婁底 湛江 南陽 宜賓 銅川 黃南 寶雞

巨人網絡通訊聲明:本文標題《在 Laravel 6 中緩存數據庫查詢結果的方法》,本文關鍵詞  在,Laravel,中,緩存,數據庫,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《在 Laravel 6 中緩存數據庫查詢結果的方法》相關的同類信息!
  • 本頁收集關于在 Laravel 6 中緩存數據庫查詢結果的方法的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 俺来也俺也啪WWW色| 中文字幕国内精品日本Av| 丰乳娇妻| 扒开腿狂躁老师爽出白浆动漫门| 韩国19禁不打码的电影在线看 | 人妻亂倫激情文学区| 国产67194| 日本三级人妻三级欧美三级| 欧美一区二区aa大片| 69日本xxxxx| bdsmcbt另类系列| 免费无码国产精品一区二区| 同桌上课cao我好爽| 同志chinesegay动漫| 欧美性猛交????| 白洁少妇成人A片在线观看| 91黄视频在线观看| 色狠狠色综合久久久绯色AⅤ影视 亚洲精品无码久久久香草影院 | 欧美白人黑人xxxx猛交| 欧美三级黄| 亚洲综合一二三区| 91茄子国产线观看免费| 爽?躁多水?快?深点校园| 人人澡人人插| 曰b小说| 国产gav成人免费播放视频| 男女做爰猛烈动高潮A片免费应用| 老色鬼在线播放精品视频| 黄色片免费在线播放| 中文字幕精品无码亚洲色戒| 欧产?日产?国产蜜臀| 边做边摸边揉的免费视频| 恰似寒光遇骄阳漫画免费下拉全集| 九九视频麻豆精品| 日本大尺度床戏揉捏胸| 又粗又长的做真舒服| bbwjapanese超乳肉感肉感| 禁欲总裁开荤高H1V1| 美女禁区视频无遮挡免费看| 王爷晚上含奶h嗯额嗯| 外国黄网站|