PHP?laravel緩存cache機(jī)制怎么實(shí)現(xiàn)

今天小編給大家分享一下PHP laravel緩存cache機(jī)制怎么實(shí)現(xiàn)的相關(guān)知識(shí)點(diǎn),內(nèi)容詳細(xì),邏輯清晰,相信大部分人都還太了解這方面的知識(shí),所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來(lái)了解一下吧。

創(chuàng)新互聯(lián)專業(yè)網(wǎng)站設(shè)計(jì)制作、網(wǎng)站設(shè)計(jì),集網(wǎng)站策劃、網(wǎng)站設(shè)計(jì)、網(wǎng)站制作于一體,網(wǎng)站seo、網(wǎng)站優(yōu)化、網(wǎng)站營(yíng)銷、軟文推廣等專業(yè)人才根據(jù)搜索規(guī)律編程設(shè)計(jì),讓網(wǎng)站在運(yùn)行后,在搜索中有好的表現(xiàn),專業(yè)設(shè)計(jì)制作為您帶來(lái)效益的網(wǎng)站!讓網(wǎng)站建設(shè)為您創(chuàng)造效益。

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

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

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

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

使用 Cache門(mén)面,你可以使用 store方法訪問(wèn)不同的緩存存儲(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 門(mén)面上的 put 方法在緩存中存儲(chǔ)數(shù)據(jù)。當(dāng)你在緩存中存儲(chǔ)數(shù)據(jù)的時(shí)候,需要指定數(shù)據(jù)被緩存的時(shí)間(秒數(shù)):

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

如果沒(méi)有傳遞緩存時(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 門(mén)面上的 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();

以上就是“PHP laravel緩存cache機(jī)制怎么實(shí)現(xiàn)”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會(huì)為大家更新不同的知識(shí),如果還想學(xué)習(xí)更多的知識(shí),請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

當(dāng)前文章:PHP?laravel緩存cache機(jī)制怎么實(shí)現(xiàn)
標(biāo)題URL:http://m.kartarina.com/article40/pihjeo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站排名App設(shè)計(jì)移動(dòng)網(wǎng)站建設(shè)全網(wǎng)營(yíng)銷推廣網(wǎng)站維護(hù)品牌網(wǎng)站制作

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

手機(jī)網(wǎng)站建設(shè)
主站蜘蛛池模板: 中字无码av电影在线观看网站| 深夜a级毛片免费无码| 在线精品自拍无码| 久久午夜夜伦鲁鲁片免费无码 | 精品欧洲av无码一区二区14| 中文字幕精品三区无码亚洲| 国产精品成人无码久久久久久| 人妻aⅴ无码一区二区三区| 日韩乱码人妻无码中文视频| av大片在线无码免费| 四虎影视无码永久免费| 亚洲av无码偷拍在线观看| 久久久久久AV无码免费网站| 一本大道无码日韩精品影视| 亚洲AV无码XXX麻豆艾秋| 无码乱人伦一区二区亚洲| 成年无码av片完整版| 西西4444www大胆无码| 亚洲av无码一区二区三区在线播放| 亚洲AV永久青草无码精品| 在线观看免费无码视频| 亚欧无码精品无码有性视频| 精品无码综合一区二区三区| 18禁无遮拦无码国产在线播放 | 小SAO货水好多真紧H无码视频 | 欧洲精品久久久av无码电影| 亚洲日韩欧洲无码av夜夜摸| 日韩少妇无码喷潮系列一二三| 亚洲AV无码成人网站在线观看| 无码国内精品久久人妻蜜桃| 国产在线精品无码二区| 13小箩利洗澡无码视频网站免费 | 中文午夜乱理片无码| 黑人无码精品又粗又大又长 | 亚洲精品无码久久久影院相关影片| 国产精品无码一区二区三区在| 亚洲午夜无码毛片av久久京东热| 亚洲av永久无码精品天堂久久| 日韩免费无码视频一区二区三区| 亚洲2022国产成人精品无码区| 男人的天堂无码动漫AV|