Laravel フィールドキャッシュ設定方法【簡単解説】

Laravelで、データベースクエリの回数を減らし、パフォーマンスを向上させるために、フィールド値をキャッシュすることができます。以下はLaravelでフィールドキャッシュを設定する手順です。

  1. データベースの設定ファイル
  2. つながり
  3. ミーエスキューエル
  4. PostgreSQL
  5. ‘キャッシュ’ => true
'mysql' => [
    'driver' => 'mysql',
    'host' => env('DB_HOST', '127.0.0.1'),
    'port' => env('DB_PORT', '3306'),
    'database' => env('DB_DATABASE', 'forge'),
    'username' => env('DB_USERNAME', 'forge'),
    'password' => env('DB_PASSWORD', ''),
    'unix_socket' => env('DB_SOCKET', ''),
    'charset' => 'utf8mb4',
    'collation' => 'utf8mb4_unicode_ci',
    'prefix' => '',
    'strict' => true,
    'engine' => null,
    'cache' => true,
],
  1. 覚えていてください。
  2. ユーザー
use Illuminate\Support\Facades\Cache;

class User extends Model
{
    public function getNameAttribute()
    {
        return Cache::remember('user_name_' . $this->id, 60, function () {
            return $this->name;
        });
    }
}

getNameAttributeメソッドは、ユーザーの名前を返し、それをキャッシュに保存します。キャッシュのキーはuser_name_ユーザーIDで、キャッシュの有効時間は60秒です。

  1. 最後に、必要な場所でモデルのフィールドを直接呼び出すだけです。例えば、:
$user = User::find(1);
echo $user->name;

上記の手順に従うことで、Laravelでのフィールドキャッシュ設定が可能となり、データベースクエリの回数を減らし、パフォーマンスを向上させることができます。

bannerAds