Yii框架常見(jiàn)緩存應(yīng)用實(shí)例小結(jié)
本文實(shí)例講述了Yii框架常見(jiàn)緩存應(yīng)用。分享給大家供大家參考,具體如下:
1 首先,你需要安裝apc or memcache or redis 。 安裝完后。 以redis 為例。 至于如何安裝,多找度娘。
在配置文件中components 添加如下。
'cache'=>array( 'class'=>'core.extensions.redis.Predis', 'class'=>'core.extensions.redis.CRedisCache', 'servers'=>array( array( 'host'=>'192.168.1.xx', 'port'=>6379, ), ), ),
2 最簡(jiǎn)單的例子。 set get.
Yii::app()->cache->set('id', date("Y-m-d H:i:s"), 5); //設(shè)置有效時(shí)間為5. echo Yii::app()->cache->get("id")."<br/>"; sleep(2); echo Yii::app()->cache->get("id"); //緩存有效期內(nèi) 會(huì)輸出數(shù)據(jù) sleep(4); echo Yii::app()->cache->get("id"); //緩存失效,輸出為空
3 數(shù)據(jù)庫(kù)查詢緩存。
//3.1 最簡(jiǎn)單的數(shù)據(jù)庫(kù)緩存。 $sql = 'select * from {{settings}}'; $cmd = Yii::app()->db->cache(10, null)->createCommand($sql); $rows = $cmd->queryAll(); //3.2 加一個(gè)緩存依賴的概念。 $dp_sql = "SELECT MAX(id) FROM plat2_settings "; $dependency = new CDbCacheDependency( $dp_sql ); $sql = "SELECT * FROM `plat2_settings`"; $rows = Yii::app()->db->cache(1000, $dependency)->createCommand($sql)->queryAll();
上面的代碼意思是查詢對(duì)應(yīng)的數(shù)據(jù)的時(shí)候,會(huì)先判斷依賴查詢 SELECT MAX(id) FROM plat2_settings 的結(jié)果數(shù)據(jù)是否有更新,
如果有更新,則重新查詢數(shù)據(jù),如依賴未更新則直接調(diào)緩存數(shù)據(jù)。 過(guò)1000 秒后,會(huì)重新查詢。
4 片斷緩存。
if($this->beginCache("xx")) { echo "test cache "; $this->endCache(); } //beginCache 會(huì)存在第二個(gè)參數(shù),意思是選用指定的緩存器。如果需要使用不同的緩存時(shí),可以定制。
5 頁(yè)面緩存。
public function filters(){ return array( array( 'COutputCache+index+admin', 'duration' => 120, 'varyByParam'=>array('id'), ), ); }
使用控制器,直接對(duì)指定的action 進(jìn)行緩存處理 。
還有varyBySession 可以選配。
更多關(guān)于Yii相關(guān)內(nèi)容感興趣的讀者可查看本站專(zhuān)題:《Yii框架入門(mén)及常用技巧總結(jié)》、《php優(yōu)秀開(kāi)發(fā)框架總結(jié)》、《smarty模板入門(mén)基礎(chǔ)教程》、《php面向?qū)ο蟪绦蛟O(shè)計(jì)入門(mén)教程》、《php字符串(string)用法總結(jié)》、《php+mysql數(shù)據(jù)庫(kù)操作入門(mén)教程》及《php常見(jiàn)數(shù)據(jù)庫(kù)操作技巧匯總》
希望本文所述對(duì)大家基于Yii框架的PHP程序設(shè)計(jì)有所幫助。
- 從零開(kāi)始學(xué)YII2框架(六)高級(jí)應(yīng)用程序模板
- yii2高級(jí)應(yīng)用之自定義組件實(shí)現(xiàn)全局使用圖片上傳功能的方法
- YII Framework框架使用YIIC快速創(chuàng)建YII應(yīng)用之migrate用法實(shí)例詳解
- YII Framework框架教程之使用YIIC快速創(chuàng)建YII應(yīng)用詳解
- Yii2框架redis基本應(yīng)用示例
- Yii框架學(xué)習(xí)筆記之應(yīng)用組件操作示例
- Yii Framework框架中事件和行為的區(qū)別及應(yīng)用實(shí)例分析
- 再談Yii Framework框架中的事件event原理與應(yīng)用
- Yii框架應(yīng)用組件用法實(shí)例分析
- Yii 框架應(yīng)用(Applications)操作實(shí)例詳解
相關(guān)文章
php中實(shí)現(xiàn)記住密碼下次自動(dòng)登錄的例子
這篇文章主要介紹了php中實(shí)現(xiàn)記住密碼下次自動(dòng)登錄的例子,本文使用cookie實(shí)現(xiàn)記住密碼和自動(dòng)登錄功能,需要的朋友可以參考下2014-11-11Zend Framework數(shù)據(jù)庫(kù)操作技巧總結(jié)
這篇文章主要介紹了Zend Framework數(shù)據(jù)庫(kù)操作技巧,結(jié)合實(shí)例形式總結(jié)分析了Zend Framework針對(duì)數(shù)據(jù)庫(kù)操作的常見(jiàn)函數(shù)、常用操作及相關(guān)注意事項(xiàng),需要的朋友可以參考下2017-02-02Laravel 框架路由原理與路由訪問(wèn)實(shí)例分析
這篇文章主要介紹了Laravel 框架路由原理與路由訪問(wèn),結(jié)合實(shí)例形式分析了Laravel 框架路由的基本概念、原理、路由訪問(wèn)方法及操作注意事項(xiàng),需要的朋友可以參考下2020-04-04PHP和javascript常用正則表達(dá)式及用法實(shí)例
這篇文章主要介紹了常用的PHP和javascript正則表達(dá)式及用法實(shí)例,精心收集的PHP和javascript正則表達(dá)式各10個(gè),需要的朋友可以參考下2014-07-07php實(shí)現(xiàn)分頁(yè)工具類(lèi)分享
本文分享一個(gè)php實(shí)現(xiàn)的分頁(yè)工具類(lèi),代碼內(nèi)有注釋?zhuān)蠹覅⒖际褂冒?/div> 2014-01-01php循環(huán)table實(shí)現(xiàn)一行兩列顯示的方法
這篇文章主要介紹了php循環(huán)table實(shí)現(xiàn)一行兩列顯示的方法,本文直接給出實(shí)現(xiàn)代碼,重點(diǎn)就是在取余方法的運(yùn)用,需要的朋友可以參考下2015-06-06最新評(píng)論