Cache

記事の内容

概要

キャッシュデータの保存、取得、および管理を簡単に行えるインターフェースを提供します。

put

アイテムをキャッシュに保存します。

key : キャッシュのキー名
value : キャッシュに保存する値
seconds : キャッシュの有効期間(秒単位)

$cacheKey = 'api_response_data';

// APIから取得したデータをキャッシュに保存し、1時間有効にする
Cache::put($cacheKey, $apiResponse, 3600);

get

キーを使ってキャッシュからアイテムを取得します。

key : キャッシュのキー名
default : キャッシュに存在しない場合に返すデフォルト値

$cacheKey = 'api_response_data';

$apiResponse = Cache::get($cacheKey, function () {
    // キャッシュに存在しない場合のデフォルト処理
    return callApi();
});

remember

キャッシュからアイテムを取得するか、存在しない場合は保存します。

key : キャッシュのキー名(アイテムを保存する際の識別子)
seconds : キャッシュの有効期間(秒単位)
callback : キャッシュに保存する値を生成するためのクロージャ

$userId = 123;

$userProfile = Cache::remember("user_profile_{$userId}", 3600, function () use ($userId) {
    // データベースからユーザープロファイル情報を取得してキャッシュに保存
    return DB::table('user_profiles')->where('user_id', $userId)->first();
});

forget

キャッシュからアイテムを削除します。

key : キャッシュのキー名

$userId = 123;

Cache::forget("user_profile_{$userId}"); // 指定のキーのキャッシュを削除

increment

キャッシュ内の数値を増加させます。

key : キャッシュのキー名(アイテムを保存する際の識別子)
value : 増加させる値(デフォルトは1)

$apiRequestKey = 'api_request_count';

Cache::increment($apiRequestKey); // 1増加
Cache::increment($apiRequestKey, 5); // 5増加

decrement

キャッシュ内の数値を減少させます。

key : キャッシュのキー名(アイテムを保存する際の識別子)
value : 減少させる値(デフォルトは1)

$productStockKey = 'product_stock_456';

Cache::decrement($productStockKey); // 1減少
Cache::decrement($productStockKey, 3); // 3減少

flush

キャッシュ内の全てのアイテムを削除します。

Cache::flush(); // 全てのキャッシュを削除

forever

アイテムを永久にキャッシュに保存します。

key : キャッシュのキー名(アイテムを保存する際の識別子)
value : キャッシュに保存する値

Cache::forever('app_settings', $settings); // 設定値を永久に保存

rememberForever

キャッシュからアイテムを取得するか、存在しない場合は永久に保存します。

key : キャッシュのキー名(アイテムを保存する際の識別子)
callback : キャッシュに保存する値を生成するためのクロージャ

$termsKey = 'terms_conditions';

$terms = Cache::rememberForever($termsKey, function () {
    return DB::table('terms')->latest()->first();
});
記事の内容
閉じる