最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

PHP laravel緩存cache機(jī)制詳解

 更新時(shí)間:2022年10月24日 11:41:26   作者:camellia  
Laravel中的cache為我們提供了三種緩存機(jī)制:Redis,memcache,以及框架的文件緩存。本文主要和大家聊聊cache中的文件緩存,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下

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

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

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

一、訪問多個(gè)緩存存儲(chǔ)

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

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

二、從緩存中獲取數(shù)據(jù)

1.獲取數(shù)據(jù)并設(shè)置默認(rèn)值

(1):正常取值

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

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

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

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

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

2.檢查緩存項(xiàng)是否存在

has 方法用于判斷緩存項(xiàng)是否存在,如果值為 null 或 false 該方法會(huì)返回 false:

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

3.數(shù)值增加/減少

increment 和 decrement 方法可用于調(diào)整緩存中的整型數(shù)值。這兩個(gè)方法都可以接收第二個(gè)參數(shù)來(lái)指明緩存項(xiàng)數(shù)值增加和減少的數(shù)目:

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

4.獲取 & 存儲(chǔ)

有時(shí)候你可能想要獲取緩存項(xiàng),但如果請(qǐng)求的緩存項(xiàng)不存在時(shí)給它存儲(chǔ)一個(gè)默認(rèn)值。例如,你可能想要從緩存中獲取所有用戶,或者如果它們不存在的話,從數(shù)據(jù)庫(kù)獲取它們并將其添加到緩存中,你可以通過(guò)使用 Cache::remember 方法實(shí)現(xiàn):

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

如果緩存項(xiàng)不存在,傳遞給 remember 方法的閉包被執(zhí)行并且將結(jié)果存放到緩存中。

你還可以使用 rememberForever 方法從緩存中獲取數(shù)據(jù)或者將其永久存儲(chǔ)起來(lái):

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

5.獲取 & 刪除

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

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

三、緩存中存儲(chǔ)數(shù)據(jù)

1.獲取存儲(chǔ)數(shù)據(jù)

你可以使用 Cache 門面上的 put 方法在緩存中存儲(chǔ)數(shù)據(jù)。當(dāng)你在緩存中存儲(chǔ)數(shù)據(jù)的時(shí)候,需要指定數(shù)據(jù)被緩存的時(shí)間(秒數(shù)):

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

如果沒有傳遞緩存時(shí)間到 put 方法,則緩存項(xiàng)永久有效:

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

除了傳遞緩存項(xiàng)失效時(shí)間,你還可以傳遞一個(gè)代表緩存項(xiàng)有效時(shí)間的 PHP Datetime 實(shí)例:

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

2.緩存不存在時(shí)存儲(chǔ)數(shù)據(jù)

add 方法只會(huì)在緩存項(xiàng)不存在的情況下添加數(shù)據(jù)到緩存,如果數(shù)據(jù)被成功添加到緩存返回 true,否則,返回 false:

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

3.永久存儲(chǔ)數(shù)據(jù)

forever 方法用于持久化存儲(chǔ)數(shù)據(jù)到緩存,這些值必須通過(guò) forget 方法手動(dòng)從緩存中移除:

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

四、從緩存中移除數(shù)據(jù)

可以使用 Cache 門面上的 forget 方法從緩存中移除緩存項(xiàng)數(shù)據(jù):

Cache::forget('key');

還可以通過(guò)設(shè)置緩存有效期為 0 或負(fù)數(shù)來(lái)移除緩存項(xiàng):

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

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

Cache::flush();

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

到此這篇關(guān)于PHP laravel緩存cache機(jī)制詳解的文章就介紹到這了,更多相關(guān)PHP laravel緩存內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • PHP+ACCESS 文章管理程序代碼

    PHP+ACCESS 文章管理程序代碼

    花了一天的時(shí)間,寫了一個(gè)PHP操作ACCESS的演示整站示例程序(不包括分頁(yè)和二級(jí)分類)
    2010-06-06
  • PHP閉包函數(shù)詳解

    PHP閉包函數(shù)詳解

    這篇文章主要為大家詳細(xì)介紹了PHP閉包函數(shù),閉包函數(shù)沒有函數(shù)名稱,直接在function()傳入變量即可 使用時(shí)將定義的變量當(dāng)作函數(shù)來(lái)處理,對(duì)PHP閉包函數(shù)感興趣的朋友可以參考一下
    2016-02-02
  • php導(dǎo)出excel格式數(shù)據(jù)問題

    php導(dǎo)出excel格式數(shù)據(jù)問題

    本篇文章主要是對(duì)php導(dǎo)出excel格式數(shù)據(jù)的問題進(jìn)行了介紹,需要的朋友可以過(guò)來(lái)參考下,希望對(duì)大家有所幫助
    2014-03-03
  • thinkphp如何傳遞GET參數(shù)方法詳解

    thinkphp如何傳遞GET參數(shù)方法詳解

    這篇文章主要為大家介紹了thinkphp如何傳遞GET參數(shù)方法詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-05-05
  • PHP寫的求多項(xiàng)式導(dǎo)數(shù)的函數(shù)代碼

    PHP寫的求多項(xiàng)式導(dǎo)數(shù)的函數(shù)代碼

    PHP寫的求多項(xiàng)式導(dǎo)數(shù)的函數(shù)代碼,需要的朋友可以參考下
    2012-07-07
  • php中substr()函數(shù)參數(shù)說(shuō)明及用法實(shí)例

    php中substr()函數(shù)參數(shù)說(shuō)明及用法實(shí)例

    這篇文章主要介紹了php中substr()函數(shù)參數(shù)說(shuō)明及用法,以實(shí)例形式深入分析了substr()函數(shù)中的各個(gè)參數(shù)的含義,并舉例說(shuō)明了其對(duì)應(yīng)的用法,需要的朋友可以參考下
    2014-11-11
  • 解析WordPress中的post_class與get_post_class函數(shù)

    解析WordPress中的post_class與get_post_class函數(shù)

    這篇文章主要介紹了WordPress中的post_class與get_post_class函數(shù),包括post_class()的PHP源碼的相應(yīng)介紹,需要的朋友可以參考下
    2016-01-01
  • PHP統(tǒng)計(jì)數(shù)值數(shù)組中出現(xiàn)頻率最多的10個(gè)數(shù)字的方法

    PHP統(tǒng)計(jì)數(shù)值數(shù)組中出現(xiàn)頻率最多的10個(gè)數(shù)字的方法

    這篇文章主要介紹了PHP統(tǒng)計(jì)數(shù)值數(shù)組中出現(xiàn)頻率最多的10個(gè)數(shù)字的方法,涉及php中array_count_values與arsort等方法的相關(guān)使用技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2015-04-04
  • php微信支付接口開發(fā)程序

    php微信支付接口開發(fā)程序

    微信支付接口現(xiàn)在也慢慢的像支付寶一個(gè)可以利用api接口來(lái)實(shí)現(xiàn)第三方網(wǎng)站或應(yīng)用進(jìn)行支付了,下文整理了一個(gè)php微信支付接口開發(fā)程序并且己測(cè)試,感興趣的小伙伴們可以參考一下
    2016-08-08
  • 深入解析PHP的Yii框架中的緩存功能

    深入解析PHP的Yii框架中的緩存功能

    這篇文章主要介紹了PHP的Yii框架中的緩存功能,作為一個(gè)追求高大全的重量級(jí)框架,Yii的緩存存儲(chǔ)器和API十分豐富,需要的朋友可以參考下
    2016-03-03

最新評(píng)論

桦甸市| 滦南县| 金沙县| 西充县| 安乡县| 手机| 尚志市| 海安县| 伽师县| 新郑市| 团风县| 洛川县| 长寿区| 荆州市| 东阳市| 忻州市| 兴海县| 东丽区| 仙居县| 扶绥县| 中江县| 临沭县| 平利县| 铁力市| 德保县| 恩施市| 潢川县| 奎屯市| 禹城市| 滨海县| 浏阳市| 绩溪县| 台中县| 铁岭县| 开阳县| 敦煌市| 吴堡县| 会同县| 正镶白旗| 建始县| 彭泽县|