Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在cakephp中使用缓存_Php_Cakephp_Caching - Fatal编程技术网

如何在cakephp中使用缓存

如何在cakephp中使用缓存,php,cakephp,caching,Php,Cakephp,Caching,我在cakephp中有一个站点,我已经为它配置了缓存。 在bootstrap.php中,我写了这行代码,就像cakephp站点中的指南一样: Cache::config('default', array('engine' => 'File')); Cache::config('short', array( 'engine' => 'File', 'duration' => '+1 hours', 'path' => CACHE, 'pre

我在cakephp中有一个站点,我已经为它配置了缓存。 在bootstrap.php中,我写了这行代码,就像cakephp站点中的指南一样:

Cache::config('default', array('engine' => 'File'));

Cache::config('short', array(
    'engine' => 'File',
    'duration' => '+1 hours',
    'path' => CACHE,
    'prefix' => 'cake_short_'
));

// long
Cache::config('long', array(
    'engine' => 'File',
    'duration' => '+1 week',
    'probability' => 100,
    'path' => CACHE . 'long' . DS,
));
在我的控制器中,我希望缓存一些多次调用的查询,如下所示:

class User extends AppModel {

    public function get($alias) {
        $result = Cache::read('get_users', 'longterm');
        if (!$result) {
            $result = $this->find('all', array('conditions' =>array( 'alias' => $alias)));
            Cache::write('get_users', $result, 'longterm');
        }
        return $result;
    }
}
我想知道使用参数(别名)缓存查询是有效的,还是只缓存不使用此类参数的查询更好

$result = $this->find('all', array('order' =>'id'));

因为我的疑问是:使用参数缓存查询是否有用?提高网站速度的好方法是什么?

你是什么意思?我听不懂。如果您有“多个”别名,则需要在密钥中包含该别名。否则他们都会得到彼此(错误)的缓存结果!我想知道使用我传递的参数进行t缓存查询是否有用和高效。或者,如果我必须只缓存查询标准(如从表中全选),则缓存您需要的内容:没有全面的答案。这完全取决于您的应用程序、频繁执行的查询以及数据中是否存在任何差异。