🎃

Laravel9でDBでの検索結果をキャッシュしてスピードを上げる

2022/11/05に公開

LaravelでDBの結果をキャッシュする方法のメモ

//キャッシュからデータを取得(なければキャッシュに保存)
$data = Cache::rememberForever("キャッシュ名を入れる", function () use ($id) {

    // DB取得処理を入れる
    return $this->eloquentSpot->where('id', $id)->first();
});

キャッシュ名は他とかぶらないようにします。
かぶってたら、そこと取得する値が同じ結果になってしまい、バグとなります。
変数が必要な場合はuseに入れて使います(ここでは$idを入れています)。
必要ない場合はuse以降はいりません。

キャッシュをクリアする方法はキャッシュシステムの種類設定により、その設定は「.env」の「CACHE_DRIVER」に指定します。
fileなら、storage/framework/cache/data/内のファイルを削除すればクリアになります。
APCuなど、他のキャッシュ機構を使っている場合はそれぞれのやり方に沿ってクリアにします。

Discussion