2016-08-24 2 views
1

내가 프로젝트에서 일하고 있어요있는 케이크 3의 몇 패키지 :CakePHP의 3 ORM : 캐시 메타 데이터 문제

  • CakePHP를/ORM
  • CakePHP의/검증
  • CakePHP의/국제화
  • cakephp/cache

방금 ​​마지막으로 (캐시)를 설치했습니다.

프로덕션 서버에 프로젝트를 업로드했는데 ORM을 사용하는 쿼리가 매우 느리다는 것에 놀랐습니다. 로컬 컴퓨터에서 약 100ms 지속되는 쿼리는 프로덕션 서버에서 최대 5 ~ 10 초가 걸릴 수 있습니다).

많은 시간과 자원을 필요로하는 information_schema 테이블에 쿼리가있는 것으로 보입니다. 그래서 웹에 가서 내 config에 cacheMetaData 매개 변수가 필요하다는 것을 알았습니다.

내 설정은 다음과 같습니다

ConnectionManager::config('default', [ 
    'className' => 'Cake\Database\Connection', 
    'driver' => 'Cake\Database\Driver\Mysql', 
    'host' => 'my-host', 
    'database' => 'my-database', 
    'username' => 'my-username', 
    'password' => 'my-password', 
    'encoding' => 'utf8', 
    'timezone' => 'UTC', 
    'cacheMetaData' => true // If set to `true` you need to install the optional "cakephp/cache" package. 
]); 

내가 위의 지시에 따라하고 CakePHP의/캐시 패키지를 설치했습니다. 그러나 나는 어떻게 든 그것을 (또는 어딘가에) 가능하게 할 필요가 있다고 생각하지만, 어떻게 (또는 어디서) 이해할 수는 없다.

\Cake\Cache\Cache::config('_cake_model_', [ 
    'className' => 'File', 
    'prefix' => 'myapp_cake_model_', 
    'path' => '/cache/models/', 
    'serialize' => true, 
    'duration' => '+2 minutes', 
]); 

하지만 여전히 내 캐시, 작동하지 않는 또는 캐시/모델/ 폴더는 여전히 비어 있고 요청이 오랜 시간을내어 다음은

내가 뭘하려합니다.

어떻게 해결할 수 있습니까? 이 주제에 대한 자세한 솔루션에 대한 당신의 시간

kinkaz

답변