Laravel フィールドキャッシュ設定方法【簡単解説】
Laravelで、データベースクエリの回数を減らし、パフォーマンスを向上させるために、フィールド値をキャッシュすることができます。以下はLaravelでフィールドキャッシュを設定する手順です。
- データベースの設定ファイル
- つながり
- ミーエスキューエル
- PostgreSQL
- ‘キャッシュ’ => 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,
],
- 覚えていてください。
- ユーザー
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秒です。
- 最後に、必要な場所でモデルのフィールドを直接呼び出すだけです。例えば、:
$user = User::find(1);
echo $user->name;
上記の手順に従うことで、Laravelでのフィールドキャッシュ設定が可能となり、データベースクエリの回数を減らし、パフォーマンスを向上させることができます。