phalcon: 缓存片段,文件缓存,memcache缓存
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了phalcon: 缓存片段,文件缓存,memcache缓存相关的知识,希望对你有一定的参考价值。
几种缓存,需要用到前端配置,加后端实例配合着用
片段缓存:
public function indexAction() { //渲染页面 $this->view->setTemplateAfter(‘common‘); //缓存片段
//前端配置 $frontcache = new \Phalcon\Cache\Frontend\Output(array( "lifetime" => 86400 ));
//后端处理 $cache = new \Phalcon\Cache\Backend\File($frontcache, array( "cacheDir" => "../app/cache/" )); //查询片段是否存在 $content = $cache->start("index.pthm"); if ($content == null) { echo date("r"); $this->view->pick("index/index"); //缓存片段 $cache->save(); } else { echo $content; } }
文件缓存:
public function lastAction() { //数据缓存 //前端配置 $frontcache = new \Phalcon\Cache\Frontend\Data(array( "lifetime"=>86400 )); //后端实例 $cache = new \Phalcon\Cache\Backend\File($frontcache, array( ‘cacheDir‘=>‘../app/cache/‘ )); $cacheKey = ‘customer_10‘; $customer = $cache->get($cacheKey); //在3600有效期内读取缓存 // $customer = $cache->get($cacheKey, 3600); if($customer == null) { $customer = \SysCustomer::find(array( "limit"=>10 ))->toArray(); //保存缓存 $cache->save($cacheKey, $customer); //单独设置缓存的有效期 // $cache->save($cacheKey, $customer,3600); } var_dump($customer); }
memcache缓存,本例是windows下:
public function memcacheAction() { //memcache缓存 //前端配置有效期 $frontcache = new \Phalcon\Cache\Frontend\Data(array( "lifetime"=>86400 )); //后端实例化 $memcache = new \Phalcon\Cache\Backend\Memcache($frontcache, array( "servers" => array( array( "host" => "127.0.0.1", "port" => "11211", "weight" => "1" ) ) )); $mydata = $memcache->get(‘my-data‘); if($mydata == null) { $mydata = array(1,2,3,4,5); //保存缓存 $memcache->save(‘my-data‘, $mydata); echo "--"; } var_dump($mydata); }
以上是关于phalcon: 缓存片段,文件缓存,memcache缓存的主要内容,如果未能解决你的问题,请参考以下文章
Phalcon中的model Forcing Cache(模型强制缓存)小坑