Laravel
[Laravel] Redis Cache 사용하기
먹세
2021. 6. 21. 16:25
https://laravel.com/docs/8.x/cache
위 참고,
config / database.php 수정
'redis' => [
'cache' => [
'host' => env('REDIS_HOST', '127.0.0.1'),
'password' => env('REDIS_PASSWORD', null),
'port' => env('REDIS_PORT', 6379),
'database' => env('REDIS_CACHE_DB', 1),
],
],
사용 방법
$lists = Cache::remember('list_cache', 60, function(){ //60분 캐싱
$listsDb = User::with('category')
->sort()
->take(10)
->get();
return $listsDb;
});
위 코드 설명
Redis 에서 list_cache 라는 키를 조회 후, 있으면 Redis에서 내용을 가져오고, 없으면 function 안에있는 내용을 실행한다.
Redis의 내용은 60분 후 갱신된다.
클로저 응답(return) 은 Collection 형태로 해야 한다.
Builder 타입으로 응답할 경우 Closure 에러 난다.
클로저 내부 변수 사용의 경우
$lists = Cache::remember('list_cache', 60, function() use ($count) { //60분 캐싱
$listsDb = User::with('category')
->sort()
->take($count)
->get();
return $listsDb;
});
위와 같이 use 로 변수 사용
반응형