CakePHP 3 ORM:缓存元数据问题
CakePHP 3 ORM : Cache metadata issue
我正在做一个只有几包蛋糕 3 的项目:
- cakephp/orm
- cakephp/validation
- cakephp/i18n
- cakephp/cache
我刚刚安装了最后一个(缓存)。
我将我的项目上传到生产服务器,惊讶地发现我使用 ORM 的查询非常慢(在我的本地机器上持续大约 100 毫秒的查询在生产服务器上可能需要 5 或 10 秒服务器)。
information_schema table 上似乎有查询需要花费大量时间和资源。所以我在网上看到我需要在我的配置中启用 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/cache 包。但我猜我需要以某种方式(或某处)启用它,但无法弄清楚如何(或在哪里)。
这是我尝试过的:
\Cake\Cache\Cache::config('_cake_model_', [
'className' => 'File',
'prefix' => 'myapp_cake_model_',
'path' => '/cache/models/',
'serialize' => true,
'duration' => '+2 minutes',
]);
但它仍然不起作用,我的 缓存 或 cache/models/ 文件夹仍然是空的,请求正在很久了。
我该如何解决这个问题?
感谢您的宝贵时间
金卡兹
有关此主题的详细解决方案,请参阅http://discourse.cakephp.org/t/orm-cache-metadata-issue/1071
我正在做一个只有几包蛋糕 3 的项目:
- cakephp/orm
- cakephp/validation
- cakephp/i18n
- cakephp/cache
我刚刚安装了最后一个(缓存)。
我将我的项目上传到生产服务器,惊讶地发现我使用 ORM 的查询非常慢(在我的本地机器上持续大约 100 毫秒的查询在生产服务器上可能需要 5 或 10 秒服务器)。
information_schema table 上似乎有查询需要花费大量时间和资源。所以我在网上看到我需要在我的配置中启用 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/cache 包。但我猜我需要以某种方式(或某处)启用它,但无法弄清楚如何(或在哪里)。
这是我尝试过的:
\Cake\Cache\Cache::config('_cake_model_', [
'className' => 'File',
'prefix' => 'myapp_cake_model_',
'path' => '/cache/models/',
'serialize' => true,
'duration' => '+2 minutes',
]);
但它仍然不起作用,我的 缓存 或 cache/models/ 文件夹仍然是空的,请求正在很久了。
我该如何解决这个问题?
感谢您的宝贵时间
金卡兹
有关此主题的详细解决方案,请参阅http://discourse.cakephp.org/t/orm-cache-metadata-issue/1071