您好,登錄后才能下訂單哦!
小編給大家分享一下Yii中數據庫緩存的示例分析,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
具體如下:
yii 操作數據庫緩存:
1、在main.php主文件中添加
'dbcache'=>array( 'class'=>'system.caching.CDbCache', //數據庫緩存,注意你自己的路徑問題 ),
2、設置數據庫緩存
Yii::app()->cache->set($key,$value,$outtime); //$key 唯一主鍵,$value 對應主鍵的值(可以是數組), $outtime 過期時間。
3、獲取緩存
Yii::app()->cache->get($key); //設置數據庫緩存時的主鍵key
4、刪除緩存
Yii::app()->cache->delete($key);//同上
5、清空緩存文件
Yii::app()->cache->fulsh(); //將刪除服務器上面的所有文件緩存,即cache文件夾里面的所有緩存文件
應用實例:(好多視頻沒有給出在list列表頁如果做緩存,列表頁需要有page信息,稍微復雜一點,下面給出一個list頁面的數據庫緩存實例)
當前一個url地址:http://www.aaaa.com/news/list/gid/2/nid/3/page/1.html
先判定緩存是否存在:
if(isset($_GET['gid'])){ $gid = intval($_GET['gid']); }else{ $gid = 1; } ..........
我這里省略掉了其他的判定條件,當前僅需要判定的信息有$gid,$nid,$pages(注意,當前變量沒有用$page而是使用的$pages,因為如果使用$page會出錯誤,和分頁中的$page相沖突)
$newsListCache = Yii::app()->cache->get("newsList$gid$nid$pages"); //可以保證其唯一性即可 if(!empty($newsListCache))//判定如果有這個文件則走這個文件 下面return 了所以后面的數據就不會再走了 return $newsListCache; 。。。。。//這里就是你的其他代碼數據,不用管它 Yii::app()->cache->set("newsList$gid$nid$pages",$newsList,3600);//這里的第一個參數需要和上面的對應,第二個參數就是你的數據 , 第三個參數就是過期時間。
以上是“Yii中數據庫緩存的示例分析”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。