国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術文章
文章詳情頁

PHP laravel緩存cache機制詳解

瀏覽:110日期:2022-06-06 08:50:57
目錄
  • 一、訪問多個緩存存儲
  • 二、從緩存中獲取數據
    • 1.獲取數據并設置默認值
    • 2.檢查緩存項是否存在
    • 3.數值增加/減少
    • 4.獲取 & 存儲
    • 5.獲取 & 刪除
  • 三、緩存中存儲數據
    • 1.獲取存儲數據
    • 2.緩存不存在時存儲數據
    • 3.永久存儲數據
  • 四、從緩存中移除數據

    Laravel中的cache為我們提供了三種緩存機制。

    Redis,memcache,以及框架的文件緩存。

    這里主要看的是cache中的文件緩存。

    一、訪問多個緩存存儲

    使用 Cache 門面,你可以使用 store 方法訪問不同的緩存存儲器,傳入 store 方法的鍵就是 cache 配置文件中 stores 配置數組里列出的相應的存儲器:

    $value = Cache::store("file")->get("foo");
    Cache::store("redis")->put("bar", "baz", 600);  // 10分鐘
    

    二、從緩存中獲取數據

    1.獲取數據并設置默認值

    (1):正常取值

    $value = Cache::get("key");
    

    (2):如果不存在,附默認值

    $value = Cache::get("key", "default");

    (3):使用閉包操作,附默認值

    $value = Cache::get("key", function() {
        return DB::table(...)->get();
    });
    

    2.檢查緩存項是否存在

    has 方法用于判斷緩存項是否存在,如果值為 null 或 false 該方法會返回 false:

    if (Cache::has("key")) {
        //
    }
    

    3.數值增加/減少

    increment 和 decrement 方法可用于調整緩存中的整型數值。這兩個方法都可以接收第二個參數來指明緩存項數值增加和減少的數目:

    Cache::increment("key");
    Cache::increment("key", $amount);
    Cache::decrement("key");
    Cache::decrement("key", $amount);
    

    4.獲取 & 存儲

    有時候你可能想要獲取緩存項,但如果請求的緩存項不存在時給它存儲一個默認值。例如,你可能想要從緩存中獲取所有用戶,或者如果它們不存在的話,從數據庫獲取它們并將其添加到緩存中,你可以通過使用 Cache::remember 方法實現:

    $value = Cache::remember("users", $seconds, function() {
        return DB::table("users")->get();
    });
    

    如果緩存項不存在,傳遞給 remember 方法的閉包被執行并且將結果存放到緩存中。

    你還可以使用 rememberForever 方法從緩存中獲取數據或者將其永久存儲起來:

    $value = Cache::rememberForever("users", function() {
        return DB::table("users")->get();
    });

    5.獲取 & 刪除

    如果你需要從緩存中獲取緩存項然后刪除,你可以使用 pull 方法,和 get 方法一樣,如果緩存項不存在的話返回 null:

    $value = Cache::pull("key");
    

    三、緩存中存儲數據

    1.獲取存儲數據

    你可以使用 Cache 門面上的 put 方法在緩存中存儲數據。當你在緩存中存儲數據的時候,需要指定數據被緩存的時間(秒數):

    Cache::put("key", "value", $seconds);
    

    如果沒有傳遞緩存時間到 put 方法,則緩存項永久有效:

    Cache::put("key", "value");
    

    除了傳遞緩存項失效時間,你還可以傳遞一個代表緩存項有效時間的 PHP Datetime 實例:

    $expiresAt = Carbon::now()->addMinutes(10);
    Cache::put("key", "value", $expiresAt);
    

    2.緩存不存在時存儲數據

    add 方法只會在緩存項不存在的情況下添加數據到緩存,如果數據被成功添加到緩存返回 true,否則,返回 false:

    Cache::add("key", "value", $seconds);
    

    3.永久存儲數據

    forever 方法用于持久化存儲數據到緩存,這些值必須通過 forget 方法手動從緩存中移除:

    Cache::forever("key", "value");
    

    四、從緩存中移除數據

    可以使用 Cache 門面上的 forget 方法從緩存中移除緩存項數據:

    Cache::forget("key");
    

    還可以通過設置緩存有效期為 0 或負數來移除緩存項:

    Cache::put("key", "value", 0);
     
    Cache::put("key", "value", -5);
    

    如果要清除所有緩存,可以通過 flush 方法:

    Cache::flush();
    

    以上基本上就是laravel框架對文件緩存的操作方法

    到此這篇關于PHP laravel緩存cache機制詳解的文章就介紹到這了,更多相關PHP laravel緩存內容請搜索以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持!

    標簽: PHP
    主站蜘蛛池模板: 美国一级毛片完整高清 | 空姐毛片 | 亚州三级 | 欧美九九视频 | 欧美成人aaaa免费高清 | 亚洲一级高清在线中文字幕 | 国产亚洲精品久久久久久无 | 日韩男人的天堂 | 久草视频福利在线观看 | 狠狠色噜噜狠狠狠米奇9999 | 亚洲综合久久久久久中文字幕 | 欧美久草在线 | 亚州人成网在线播放 | 欧美精品在欧美一区二区 | 91热在线观看精品 | 国产中的精品一区的 | 最新中文字幕一区二区乱码 | 欧美日韩第三页 | 亚洲最大的视频网站 | 高清在线一区二区三区亚洲综合 | 亚洲精品15p | 久久99精品久久久久久h | 在线视免费频观看韩国aaa | 性色aⅴ在线观看swag | 男人的天堂久久爱 | 欧美一区高清 | 欧美成在线播放 | 亚洲天堂男人的天堂 | 91精品国产91| 久久这| 波多野结衣在线视频免费观看 | 一级a毛片免费观看久久精品 | 中文字幕日韩精品有码视频 | 国产精品国产精品 | 曰本毛片va看到爽不卡 | 91日本在线观看亚洲精品 | 色琪琪一本到影院 | 精品国产一区二区三区2021 | 免费国产午夜高清在线视频 | 国产三级精品美女三级 | 亚洲gogo人体大胆西西安徽 |