【发布时间】:2018-03-15 16:06:11
【问题描述】:
我正在尝试使用 cakePHP3 中的缓存来存储查询结果。
我声明了一个名为“bl”的缓存适配器
配置/app.php:
/**
* Configure the cache adapters.
*/
'Cache' => [
'default' => [
'className' => 'File',
'path' => CACHE,
'url' => env('CACHE_DEFAULT_URL', null),
],
'bl' => [
'className' => 'File',
'path' => CACHE . 'bl/',
'url' => env('CACHE_DEFAULT_URL', null),
'duration' => '+1 week',
],
src/Controller/UsersController.php:
use Cake\Cache\Cache;
...
public function test()
{
$this->autoRender = false;
$this->loadModel('Users');
$Users = $this->Users->find('all');
$Users->cache('test', 'bl');
debug(Cache::read('test', 'bl'));
}
调试返回“false”。
tmp/cache/bl/ 目录创建良好,但没有生成缓存文件。
我错过了什么吗?
【问题讨论】:
-
我试过这段代码
public function test() { $this->autoRender = false; $users = $this->Users->find('all')->toArray(); $users->cache('test_cache', 'bl'); //Cache::write('test_cache', $users, 'bl'); debug(Cache::read('test_cache', 'bl')); }缓存看起来在等待一个不是数组的对象:Error: Call to a member function cache() on array File /opt/myapp/src/Controller/UsersController.php Line: 43
标签: caching cakephp cakephp-3.0 query-builder