「Php/laravel/laravel5/cache」の版間の差分
提供: 初心者エンジニアの簡易メモ
(→htmlcacheをする) |
(→htmlcacheをする) |
||
行39: | 行39: | ||
public function index() | public function index() | ||
{ | { | ||
− | if (Cache::has( | + | $cacheId = md5(__CLASS__); |
− | return Cache::get( | + | if (Cache::has($cacheId)) { |
+ | return Cache::get($cacheId); | ||
} | } | ||
$data = ["デバッグ"]; | $data = ["デバッグ"]; | ||
$html = view('debug', $data)->render(); | $html = view('debug', $data)->render(); | ||
− | Cache::put( | + | Cache::put($cacheId, $html, 10); |
return $html; | return $html; | ||
} | } |
2016年8月7日 (日) 07:51時点における版
各種キャッシュ
redis, memcache, file, databaseなど選べる
設定
例としてmemcacheを確認
vi config/cache.php - 'default' => env('CACHE_DRIVER', 'file'), + 'default' => env('CACHE_DRIVER', 'memcached'), 'memcached' => [ 'driver' => 'memcached', 'servers' => [ [ 'host' => env('MEMCACHED_HOST', '127.0.0.1'), 'port' => env('MEMCACHED_PORT', 11211), 'weight' => 100, ], ], ],
各種処理
use Illuminate\Support\Facades\Cache; // 保存 Cache::put('name', "tarou", 10); // 10分 // 取得 echo Cache::get('name'); // tarou // 保持確認 if (Cache::has('name')) { } // 削除 Cache::forget('name');
htmlcacheをする
namespace App\Http\Controllers; use App\Http\Requests; use Illuminate\Http\Request; use Illuminate\Support\Facades\Cache; class DebugController extends Controller { public function index() { $cacheId = md5(__CLASS__); if (Cache::has($cacheId)) { return Cache::get($cacheId); } $data = ["デバッグ"]; $html = view('debug', $data)->render(); Cache::put($cacheId, $html, 10); return $html; } }