1
내 프로젝트에서 고객 페이지에 사용자 정의 위젯을 표시합니다. 위젯 자체는 자주 변경되지 않으므로 여기서는보기 캐싱이 매우 유용 할 수 있다고 생각합니다.Cakephp 사용자 정의 키 기반 캐싱보기
그러나 모든 위젯은 Google 시스템에서 요청하는 회사에 따라 다릅니다.
내 질문에 캐시 도우미를 사용하고 있습니다 ... 또는 다른 방법으로 회사 ID를 기반으로 위젯을 캐시 할 수 있습니까?
<?php
App::uses('AppController', 'Controller');
class widgetController extends AppController {
public $helpers = array('Cache');
public $cacheAction = array(
'iframeForm' => 3600,
);
public $uses = array('Company');
public function index($company_id) {
//... Load up a ton of data
$this->layout = 'widget';
$this->set(compact(/* Set a ton of data */));
}
}
이되도록 회사 ID를 기반으로 인덱스 뷰를 캐시 할 수 있는가 :
/widget/index/1
하나의 복사본을 캐시에서 제공되지만 :
/widget/index/2
다른를 얻을 것이다 캐시에서 복사 하시겠습니까?
우리는 현재 cake 2.3 및 php5.3에서 실행 중이며, cake2.4 및 php 5.5로 이동하면 도움이 될 것입니다. 나는 같은 것을 할 것
모달 레이어를 캐시하고 싶지 않습니다 ... 뷰 레이어를 캐시하고 싶습니다. 보기는 액세스하는 각 회사마다 다르므로 캐시 도우미가 작동하지 않는 것처럼 보입니다. 그 이유는 내가 회사 ID가되는 키를 사용하여 뷰를 가져 와서 캐시하는 방법을 기대했기 때문입니다. 다음 번에 내가 모델 계층을 호출하기 전에이 캐시와 서버를 찾을 수있었습니다. . –