2011-01-31 69 views
0

我一直在我的项目中使用memcache没有任何问题。 它在基于find()的查询和自定义查询中效果很好。如何使用cakephp本地分页方法使用memcached?

但是,如何将分页结果与memcache一起使用? 我有以下的代码块我试图把在内存缓存:

$this->paginate = array('order'=>'order_by ASC','limit' => 1000); $this->Category->recursive = 2; $Categories = $this->paginate('Category',array('id'=>5));

即使我把缓存变量$类别,这是行不通的。 任何想法,请帮助。

非常感谢。 Vikas

+0

为什么要缓存分页。当他们按另一个字段或不同的顺序排序时会发生什么?只有20行超过2页的10个字段将提供2个X 2 X 10个版本的缓存(如果我没有错过几种不同的方式) – dogmatic69 2011-01-31 21:17:09

+0

我需要缓存以提高页面加载速度。它会在每个页面上获取数千条记录并花费大量时间进行加载。 – 2011-01-31 23:24:15

回答

0
$tmp = sha1($this->params['url']['url']); 
    $something = Cache::read('something_'.$tmp); 
    if(!$something){ 
    $something = $this->paginate(); 
    } 
    Cache::write($something, 'something_'.$tmp); 

    $this->set(compact('something'));