Laravel 의 좋 은 Cache 매크로 를 공유 합 니 다.
if (!$article = Cache::get('article_1')) {
$article = Article::find(1);
Cache::forever('article_1',$article);
}
이것 은 가장 기본 적 인 용법 으로 캐 시가 존재 하 는 지 여 부 를 자동 으로 판단 하고 존재 하지 않 으 면 데이터베이스 에서 캐 시 를 가 져 와 기록 합 니 다.나중에 모델 도 remember 와 remember Forever 방법 을 가지 고 있 는 것 을 발견 했다.예 를 들 어 이렇게 할 수 있다.
$article = Article::rememberForever('article_1')->where('id','=',1);
이것 은 한계 가 있 습 니 다.복잡 한 조회 시 데 이 터 를 완전히 캐 시 할 수 없습니다.예 를 들 어 with()를 사용 하여 관련 데 이 터 를 미리 불 러 올 때 관련 데 이 터 를 캐 시 할 수 없습니다.그리고 Cache 도 Response 처럼 매크로 방법 을 사용자 정의 할 수 있다 는 것 을 발견 하고 다음 과 같이 시도 합 니 다.
//
Cache::macro('want',function($key,$minutes=0,$callback){
if (!$data = Cache::get($key)) {
$data = call_user_func($callback);
if ($minutes == 0) {
Cache::forever($key,$data);
} else {
Cache::put($key,$data,$minutes);
}
}
return $data;
});
이 방법 은 boottstrap/start.php 에 넣 을 수도 있 고 filter 에 있 는 App:before()에 넣 을 수도 있 습 니 다.자신의 항목 에 따라 편리 하 게 사용 하 세 요.어떻게 사용 하 는 지 보 세 요.
$id = Input::get('id');
$article = Cache::want('article_'.$id,0,function() use ($id){
return Article::with('tags')->findOrFail($id,['id','cid','title','content_html as content','created_at','updated_at']);
});
개인 적 으로 이런 문법 을 매우 좋아한다.여러분 들 이 본문 내용 을 좋아 하 시 기 를 바 랍 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
단순 Laravel+Vue.js에서 VueUI를 사용하여 로그인 및 등록Laravel에는 웹 팩과 같은 Laravel-Mix가 있는데, 이를 이용해서 Laravel에 Vue.js를 실현할 수 있다. 이번에는 몇 가지 명령을 통해 간단하게 VueUI로 로그인하여 로그인을 할 수 있습니다....
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.