基本的なキャッシュの使用
// キャッシュに値を保存
Cache::put('key', 'value', $seconds);
// キャッシュから値を取得
$value = Cache::get('key');
// キャッシュに値が存在しない場合にデフォルト値を返す
$value = Cache::get('key', 'default');
// キャッシュに値が存在しない場合にクロージャを実行
$value = Cache::remember('key', $seconds, function () {
return DB::table('users')->get();
});
PHPキャッシュドライバーの設定
config/cache.php
return [
'default' => env('CACHE_DRIVER', 'file'),
'stores' => [
'file' => [
'driver' => 'file',
'path' => storage_path('framework/cache/data'),
],
'redis' => [
'driver' => 'redis',
'connection' => 'cache',
],
],
];
PHP// 特定のストアを使用
Cache::store('redis')->put('key', 'value', $seconds);
PHPタグ付きキャッシュ
Cache::tags(['people', 'artists'])->put('John', $john, $seconds);
Cache::tags(['people', 'authors'])->put('Anne', $anne, $seconds);
$john = Cache::tags(['people', 'artists'])->get('John');
// タグでグループ化されたキャッシュをフラッシュ
Cache::tags(['people', 'authors'])->flush();
PHPキャッシュのクリアとフラッシュ
// 特定のキーを削除
Cache::forget('key');
// すべてのキャッシュをクリア
Cache::flush();
PHPレスポンスのキャッシュ
use Illuminate\Support\Facades\Response;
$content = Cache::remember('home', $seconds, function () {
return view('home')->render();
});
return Response::make($content)->header('Content-Type', 'text/html');
PHPデータベースクエリのキャッシュ
$users = Cache::remember('users', $seconds, function () {
return DB::table('users')->get();
});
// クエリビルダでのキャッシュ
$users = DB::table('users')->remember($seconds)->get();
// Eloquentでのキャッシュ
$users = User::remember($seconds)->get();
PHP
コメント