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

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

v1.0.6 版本
2025-03-17 版本更新時間
7782 安裝
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版本過高 一般都是由illuminate/cache或者illuminate/filesystem版本過低導致 添加版本安裝即可

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

配置文件

//路徑 config/laravelcache.php

支持驅動

  • apc
  • array
  • file 本地緩存
  • redis 緩存
  • memcached 緩存
  • database 數據庫緩存
  • dynamodb
  • octane

緩存使用

獲取緩存實例

要獲取緩存存儲實例,您可以使用 Cache Facade,我們將在本文檔中使用它。Cache Facade 提供了對 Laravel 緩存合約底層實現的方便、簡潔的訪問:

<?php

namespace app\controller;

use Shopwwi\LaravelCache\Cache;

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

        //
    }
}

訪問多個緩存存儲

使用 Cache Facade,您可以通過 store 方法訪問各種緩存存儲。傳遞給store 方法的鍵應該對應于 cache 配置文件中的 stores 配置數組中列出的存儲之一:


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

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

從緩存中檢索項目

Cache 門面的 get 方法用于從緩存中檢索項目。如果緩存中不存在該項目,則將返回 null。如果您愿意,您可以將第二個參數傳遞給 get 方法,指定您希望在項目不存在時返回的默認值:


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

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

您甚至可以將閉包作為默認值傳遞。如果指定的項在緩存中不存在,則返回閉包的結果。傳遞閉包允許您推遲從數據庫或其他外部服務中檢索默認值:


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

檢查項目是否存在

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

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

遞增 / 遞減值

incrementdecrement 方法可用于調整緩存中整數項的值。這兩種方法都接受一個可選的第二個參數,指示增加或減少項目值的數量:


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

檢索和存儲

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


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

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

您可以使用 rememberForever 方法從緩存中檢索一個項目,或者如果它不存在則永久存儲它:


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

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


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

在緩存中存儲項目
您可以使用 Cache Facade 上的 put 方法將項目存儲在緩存中:


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

如果存儲時間沒有傳遞給 put 方法,該項目將被無限期存儲:


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

除了將秒數作為整數傳遞之外,您還可以傳遞一個表示緩存項所需過期時間的 DateTime 實例:


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

如果不存在則存儲

add 方法只會將緩存存儲中不存在的項目添加到緩存中。如果項目實際添加到緩存中,該方法將返回 true。 否則,該方法將返回 false。 add 方法是一個原子操作:


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

永久存儲
forever 方法可用于將項目永久存儲在緩存中。由于這些項目不會過期,因此必須使用 forget 方法手動將它們從緩存中刪除:


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

技巧:如果您使用的是 Memcached 驅動程序,則當緩存達到其大小限制時,可能會刪除「永久」存儲的項目。

從緩存中刪除項目

您可以使用 forget 方法從緩存中刪除項目:


Cache::forget('key');

您還可以通過提供零或負數的過期秒數來刪除項目:


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

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

您可以使用 flush 方法清除整個緩存:


Cache::flush();

緩存標簽

存儲緩存標簽

緩存標簽允許您在緩存中標記相關項目,然后刷新所有已分配給定標簽的緩存值。您可以通過傳入標記名稱的有序數組來訪問標記緩存。例如,讓我們訪問一個標記的緩存并將一個值「put」緩存中:


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

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

訪問緩存標簽

要檢索標記的緩存項,請將相同的有序標簽列表傳遞給 tags 方法,然后使用您要檢索的鍵調用 get 方法:


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

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

刪除緩存標簽

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


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

相反,此語句將僅刪除帶有 authors 標記的緩存值,因此將刪除 Anne,但不會刪除 John


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

更多文檔請查看laravel官方文檔 如果你覺得這個插件幫助到你 希望你前往github點上你的小星星!同樣如果你遇到問題 你可以通過isuse聯系到我 或者8988354@qq.com

贊助商