ホームページ  >  記事  >  PHPフレームワーク  >  PHPのlaravelキャッシュの仕組みを詳しく解説

PHPのlaravelキャッシュの仕組みを詳しく解説

WBOY
WBOY転載
2022-11-01 15:24:511544ブラウズ

この記事では、laravel に関する関連知識を提供します。主に、Redis、memcache、およびフレームワークのファイル キャッシュという 3 つのキャッシュ メカニズムを提供する Laravel のキャッシュについて紹介します。以下の関連コンテンツが皆様のお役に立てば幸いです。

[関連する推奨事項: laravel ビデオ チュートリアル ]

Laravel のキャッシュには 3 つのキャッシュ メカニズムが用意されています。

Redis、memcache、およびフレームワークのファイル キャッシュ。

ここで注目すべき主な点は、キャッシュ内のファイル キャッシュです。

1. 複数のキャッシュ ストアへのアクセス

Cache ファサードを使用すると、# を渡して store メソッドを使用してさまざまなキャッシュ ストアにアクセスできます。 # #store メソッドのキーは、cache 構成ファイルの stores 構成配列にリストされている対応するストレージです。

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

2. データを取得します。キャッシュから

1. データを取得し、デフォルト値を設定します

(1): 通常値

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

(2) : 存在しない場合は、デフォルト値

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

(3): クロージャ操作を使用し、デフォルト値

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

キャッシュが存在するかどうかを確認します。 item selected

has メソッドは、キャッシュ アイテムが存在するかどうかを判断するために使用されます。値が null または false の場合、メソッドは false を返します:

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

3. 値の増減

increment メソッドと decrement メソッドを使用して、キャッシュ内の整数値を調整できます。どちらのメソッドも、キャッシュ アイテム値の増分と減分の数を指定する 2 番目のパラメーターを受け取ることができます:

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

4. Get & Store

キャッシュ アイテムを取得したい場合もありますが、要求されたキャッシュ項目が存在しない場合は、そのデフォルト値を保存します。たとえば、すべてのユーザーをキャッシュから取得するか、ユーザーが存在しない場合はデータベースから取得してキャッシュに追加する場合、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. 取得と削除

データを取得する必要がある場合は、キャッシュ アイテムは削除されます。get メソッドと同じ pull メソッドを使用できます。キャッシュ アイテムが存在しない場合は、null が返されます:

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

3. データをキャッシュに保存します

1. 保存されたデータを取得する

キャッシュ ファサードで put メソッドを使用して、データをキャッシュに保存できます。データをキャッシュに保存するときは、データをキャッシュする時間 (秒数) を指定する必要があります。

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

キャッシュ時間が put メソッドに渡されない場合、キャッシュ アイテムは永続的に保持されます。 valid:

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

キャッシュ アイテムの有効期限を渡すことに加えて、キャッシュ アイテムの有効時間を表す PHP Datetime インスタンスも渡すことができます:

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

2. キャッシュが期限切れになったときにデータを保存します。 notexist

add メソッドはキャッシュ内にのみ存在します項目が存在しない場合はデータをキャッシュに追加します。データがキャッシュに正常に追加された場合は true を返し、それ以外の場合は false を返します:

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

3. データを永続的に保存します

forever メソッドは永続化に使用されますデータをキャッシュに保存するには、これらの値は、forget メソッドを使用してキャッシュから手動で削除する必要があります:

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

4. キャッシュからデータを削除します。

キャッシュ ファサードのforgetメソッドを使用して、キャッシュからデータを削除できます。キャッシュ項目データの削除:

Cache::forget('key');

また、キャッシュの有効期間を 0 または負の数に設定します:

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

すべてのキャッシュをクリアしたい場合は、

flushMethod:

Cache::flush();

上記は基本的に、 laravelフレームワークはファイルキャッシュで動作します

[関連する推奨事項:

laravelビデオチュートリアル]

以上がPHPのlaravelキャッシュの仕組みを詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はjb51.netで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。