Yii框架常見緩存應(yīng)用實(shí)例小結(jié)
本文實(shí)例講述了Yii框架常見緩存應(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)容感興趣的讀者可查看本站專題:《Yii框架入門及常用技巧總結(jié)》、《php優(yōu)秀開發(fā)框架總結(jié)》、《smarty模板入門基礎(chǔ)教程》、《php面向?qū)ο蟪绦蛟O(shè)計(jì)入門教程》、《php字符串(string)用法總結(jié)》、《php+mysql數(shù)據(jù)庫(kù)操作入門教程》及《php常見數(shù)據(jù)庫(kù)操作技巧匯總》
希望本文所述對(duì)大家基于Yii框架的PHP程序設(shè)計(jì)有所幫助。
- 從零開始學(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簡(jiǎn)單實(shí)現(xiàn)HTTP和HTTPS跨域共享session解決辦法
這篇文章主要介紹了PHP簡(jiǎn)單實(shí)現(xiàn)HTTP和HTTPS跨域共享session解決辦法,本文講解的方法相對(duì)簡(jiǎn)單,需要的朋友可以參考下2015-05-05
PHP yii實(shí)現(xiàn)model添加默認(rèn)值的方法(兩種方法)
這篇文章主要介紹了PHP yii實(shí)現(xiàn)model添加默認(rèn)值的方法的相關(guān)資料,這里有兩種方法,和具體實(shí)現(xiàn)方法,需要的朋友可以參考下2016-11-11
PHP 實(shí)現(xiàn)類似js中alert() 提示框
這篇文章主要介紹了PHP 實(shí)現(xiàn)類似js中alert() 提示框功能,非常的實(shí)用,這里推薦給大家,有需要的小伙伴來(lái)參考下,希望大家能喜歡。2015-03-03
php 二維數(shù)組快速排序算法的實(shí)現(xiàn)代碼
這篇文章主要介紹了php 二維數(shù)組快速排序算法的實(shí)現(xiàn)代碼的相關(guān)資料,希望通過(guò)本文能幫助到大家,讓大家實(shí)現(xiàn)這樣的功能,需要的朋友可以參考下2017-10-10
php獲取字符串前幾位的實(shí)例(substr返回字符串的子串用法)
下面小編就為大家?guī)?lái)一篇php獲取字符串前幾位的實(shí)例(substr返回字符串的子串用法)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-03-03
PHP isset()與empty()的使用區(qū)別詳解
本文主要介紹了PHP isset()與empty()的使用區(qū)別。具有很好的參考價(jià)值,下面跟著小編一起來(lái)看下吧2017-02-02
weiphp微信公眾平臺(tái)授權(quán)設(shè)置
本文給大家分享的是一款開源的微信公眾平臺(tái)weiphp的授權(quán)設(shè)置教程,非常的實(shí)用,有使用weiphp平臺(tái)的小伙伴可以參考下。2016-01-01
利用switch語(yǔ)句進(jìn)行多選一判斷的實(shí)例代碼
下面小編就為大家?guī)?lái)一篇利用switch語(yǔ)句進(jìn)行多選一判斷的實(shí)例代碼。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-11-11
PHP連接MYSQL數(shù)據(jù)庫(kù)的3種常用方法
這篇文章主要介紹了PHP連接MYSQL數(shù)據(jù)庫(kù)的3種常用方法,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-02-02

