国产+高潮+在线,国产 av 仑乱内谢,www国产亚洲精品久久,51国产偷自视频区视频,成人午夜精品网站在线观看

??laravel-cache 緩存系統(tǒng)支持本地files/redis/memcached/database

v1.0.6 版本
2025-03-17 版本更新時(shí)間
7463 安裝
9 star

'Build Status' 'Latest Stable Version' 'Total Downloads' 'License'

安裝

  • php 7.x

    composer require shopwwi/laravel-cache illuminate/cache ^8.0
  • php 8.x

    composer require shopwwi/laravel-cache
  • 注意:如果提示你的php版本過(guò)高 一般都是由illuminate/cache或者illuminate/filesystem版本過(guò)低導(dǎo)致 添加版本安裝即可

composer require shopwwi/laravel-cache illuminate/cache ^10.0 illuminate/filesystem ^10.0

配置文件

//路徑 config/laravelcache.php

支持驅(qū)動(dòng)

  • apc
  • array
  • file 本地緩存
  • redis 緩存
  • memcached 緩存
  • database 數(shù)據(jù)庫(kù)緩存
  • dynamodb
  • octane

緩存使用

獲取緩存實(shí)例

要獲取緩存存儲(chǔ)實(shí)例,您可以使用 Cache Facade,我們將在本文檔中使用它。Cache Facade 提供了對(duì) Laravel 緩存合約底層實(shí)現(xiàn)的方便、簡(jiǎn)潔的訪問(wèn):

<?php

namespace app\controller;

use Shopwwi\LaravelCache\Cache;

class UserController extends Controller
{
    /**
     * 顯示應(yīng)用程序的所有用戶的列表。
     *
     * @return Response
     */
    public function index()
    {
        $value = Cache::get('key');

        //
    }
}

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

使用 Cache Facade,您可以通過(guò) store 方法訪問(wèn)各種緩存存儲(chǔ)。傳遞給store 方法的鍵應(yīng)該對(duì)應(yīng)于 cache 配置文件中的 stores 配置數(shù)組中列出的存儲(chǔ)之一:


$value = Cache::store('file')->get('foo');

Cache::store('redis')->put('bar', 'baz', 600); // 10 Minutes

從緩存中檢索項(xiàng)目

Cache 門(mén)面的 get 方法用于從緩存中檢索項(xiàng)目。如果緩存中不存在該項(xiàng)目,則將返回 null。如果您愿意,您可以將第二個(gè)參數(shù)傳遞給 get 方法,指定您希望在項(xiàng)目不存在時(shí)返回的默認(rèn)值:


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

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

您甚至可以將閉包作為默認(rèn)值傳遞。如果指定的項(xiàng)在緩存中不存在,則返回閉包的結(jié)果。傳遞閉包允許您推遲從數(shù)據(jù)庫(kù)或其他外部服務(wù)中檢索默認(rèn)值:


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

檢查項(xiàng)目是否存在

has 方法可用于確定緩存中是否存在項(xiàng)目。如果項(xiàng)目存在但其值為null,此方法也將返回 false

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

遞增 / 遞減值

incrementdecrement 方法可用于調(diào)整緩存中整數(shù)項(xiàng)的值。這兩種方法都接受一個(gè)可選的第二個(gè)參數(shù),指示增加或減少項(xiàng)目值的數(shù)量:


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

檢索和存儲(chǔ)

有時(shí)您可能希望從緩存中檢索一個(gè)項(xiàng)目,但如果請(qǐng)求的項(xiàng)目不存在,也存儲(chǔ)一個(gè)默認(rèn)值。例如,您可能希望從緩存中檢索所有用戶,或者,如果它們不存在,則從數(shù)據(jù)庫(kù)中檢索它們并將它們添加到緩存中。您可以使用 Cache::remember 方法執(zhí)行此操作:


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

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

您可以使用 rememberForever 方法從緩存中檢索一個(gè)項(xiàng)目,或者如果它不存在則永久存儲(chǔ)它:


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

檢索和刪除
如果您需要從緩存中檢索一個(gè)項(xiàng)目然后刪除該項(xiàng)目,您可以使用 pull 方法。 與 get 方法一樣,如果緩存中不存在該項(xiàng),則將返回 null


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

在緩存中存儲(chǔ)項(xiàng)目
您可以使用 Cache Facade 上的 put 方法將項(xiàng)目存儲(chǔ)在緩存中:


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

如果存儲(chǔ)時(shí)間沒(méi)有傳遞給 put 方法,該項(xiàng)目將被無(wú)限期存儲(chǔ):


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

除了將秒數(shù)作為整數(shù)傳遞之外,您還可以傳遞一個(gè)表示緩存項(xiàng)所需過(guò)期時(shí)間的 DateTime 實(shí)例:


Cache::put('key', 'value', now()->addMinutes(10));

如果不存在則存儲(chǔ)

add 方法只會(huì)將緩存存儲(chǔ)中不存在的項(xiàng)目添加到緩存中。如果項(xiàng)目實(shí)際添加到緩存中,該方法將返回 true。 否則,該方法將返回 false。 add 方法是一個(gè)原子操作:


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

永久存儲(chǔ)
forever 方法可用于將項(xiàng)目永久存儲(chǔ)在緩存中。由于這些項(xiàng)目不會(huì)過(guò)期,因此必須使用 forget 方法手動(dòng)將它們從緩存中刪除:


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

技巧:如果您使用的是 Memcached 驅(qū)動(dòng)程序,則當(dāng)緩存達(dá)到其大小限制時(shí),可能會(huì)刪除「永久」存儲(chǔ)的項(xiàng)目。

從緩存中刪除項(xiàng)目

您可以使用 forget 方法從緩存中刪除項(xiàng)目:


Cache::forget('key');

您還可以通過(guò)提供零或負(fù)數(shù)的過(guò)期秒數(shù)來(lái)刪除項(xiàng)目:


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

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

您可以使用 flush 方法清除整個(gè)緩存:


Cache::flush();

緩存標(biāo)簽

存儲(chǔ)緩存標(biāo)簽

緩存標(biāo)簽允許您在緩存中標(biāo)記相關(guān)項(xiàng)目,然后刷新所有已分配給定標(biāo)簽的緩存值。您可以通過(guò)傳入標(biāo)記名稱的有序數(shù)組來(lái)訪問(wèn)標(biāo)記緩存。例如,讓我們?cè)L問(wèn)一個(gè)標(biāo)記的緩存并將一個(gè)值「put」緩存中:


Cache::tags(['people', 'artists'])->put('John', $john, $seconds);

Cache::tags(['people', 'authors'])->put('Anne', $anne, $seconds);

訪問(wèn)緩存標(biāo)簽

要檢索標(biāo)記的緩存項(xiàng),請(qǐng)將相同的有序標(biāo)簽列表傳遞給 tags 方法,然后使用您要檢索的鍵調(diào)用 get 方法:


$john = Cache::tags(['people', 'artists'])->get('John');

$anne = Cache::tags(['people', 'authors'])->get('Anne');

刪除緩存標(biāo)簽

您可以刷新所有分配了標(biāo)簽或標(biāo)簽列表的項(xiàng)目。例如,此語(yǔ)句將刪除所有標(biāo)記為「people」、「authors」或兩者的緩存。 因此,AnneJohn 都將從緩存中刪除:


Cache::tags(['people', 'authors'])->flush();

相反,此語(yǔ)句將僅刪除帶有 authors 標(biāo)記的緩存值,因此將刪除 Anne,但不會(huì)刪除 John


Cache::tags('authors')->flush();

更多文檔請(qǐng)查看laravel官方文檔 如果你覺(jué)得這個(gè)插件幫助到你 希望你前往github點(diǎn)上你的小星星!同樣如果你遇到問(wèn)題 你可以通過(guò)isuse聯(lián)系到我 或者8988354@qq.com

贊助商