日本好好热aⅴ|国产99视频精品免费观看|日本成人aV在线|久热香蕉国产在线

  • <cite id="ikgdy"><table id="ikgdy"></table></cite>
    1. 西西軟件園多重安全檢測(cè)下載網(wǎng)站、值得信賴的軟件下載站!
      軟件
      軟件
      文章
      搜索

      首頁(yè)編程開(kāi)發(fā)php教程 → PHP開(kāi)源框架Yii 緩存配置實(shí)例

      PHP開(kāi)源框架Yii 緩存配置實(shí)例

      相關(guān)軟件相關(guān)文章發(fā)表評(píng)論 來(lái)源:西西整理時(shí)間:2012/12/17 8:39:45字體大。A-A+

      作者:西西點(diǎn)擊:16次評(píng)論:8次標(biāo)簽: PHP

      • 類型:源碼相關(guān)大。139.2M語(yǔ)言:中文 評(píng)分:10.0
      • 標(biāo)簽:
      立即下載

      作為PHP的開(kāi)源框架,自然少不了對(duì)緩存的支持。Yii緩存可以在不同的級(jí)別使用。在最低級(jí)別,可用來(lái)緩存單個(gè)數(shù)據(jù)(數(shù)據(jù)緩存)。往上一級(jí),我們緩存一個(gè)由視圖腳本生成的頁(yè)面片斷(片段緩存)。在最高級(jí)別,可存儲(chǔ)整個(gè)頁(yè)面以便需要的時(shí)候直接從緩存讀取。本文說(shuō)明頁(yè)面緩存的配置及實(shí)現(xiàn)效果;

      實(shí)現(xiàn)分為2步;

      1. 在config文件加入緩存組件.

          'cache' => array (

              'class' => 'system.caching.CFileCache',

               'directoryLevel' => 2,

          ),

      class標(biāo)識(shí)需要使用的緩存媒介,用途比較廣的類型基本都有支持:

      CMemCache: 使用 PHP memcache 擴(kuò)展.

      CApcCache: 使用 PHP APC 擴(kuò)展.

      CDbCache: 使用一張數(shù)據(jù)庫(kù)表來(lái)存儲(chǔ)緩存數(shù)據(jù)。

      CFileCache: 使用文件來(lái)存儲(chǔ)緩存數(shù)據(jù)。 特別適用于大塊數(shù)據(jù)(例如頁(yè)面)。

      當(dāng)然,yii也可以支持Redis,需要裝一個(gè)插件:

      http://www.yiibase.com/download/view/32.html

      本文實(shí)例使用的是文件緩存,對(duì)于文件緩存,緩存到的位置為protected/runtime/;directoryLevel設(shè)置緩存文件的目錄深度;如果緩存頁(yè)面特別多,這個(gè)值需要設(shè)置大點(diǎn),否則每個(gè)目錄下的頁(yè)面會(huì)很多;

      2. 在要做緩存的控制器里定義過(guò)濾器。

         public function filters() {

                  return array (

                      array (

                          'COutputCache + post, list',

                          'duration' => 3600,

                          'varyByParam' => array('id','page'),

          'dependency' => array(

                          'class'=>'CDbCacheDependency',

                          'sql'=>'SELECT MAX(id) FROM me115_book',

                      )

                  );

              }

      COutputCache 是用于處理緩存的類,如果只填'COutputCache',則控制器里所有action都會(huì)通過(guò)緩存過(guò)濾,定義'COutputCache + post, list',表示只對(duì)以下方法進(jìn)行緩存:actionPost, actionList

      duration 是緩存的時(shí)間,單位是秒,

      varyByParam 是指定一系列GET參數(shù)名稱列表, 使用相應(yīng)的值去確定緩存內(nèi)容的版本,即同一個(gè)action用于區(qū)分是不同頁(yè)面的的參數(shù),此處我以id和page來(lái)區(qū)分不同頁(yè)面。

          除varyByParam以外,還可以采用其他的條件來(lái)區(qū)分頁(yè)面:

          varyByExpression:指定緩存內(nèi)容通過(guò)自定義的PHP表達(dá)式的結(jié)果而變化

          varyByRoute:指定緩存內(nèi)容基于請(qǐng)求的路由不同而變化 (controller 和 action)

          varyBySession:指定是否緩存內(nèi)容. 因用戶session不同而變化

      dependency'指定緩存失效依賴關(guān)系:可指定文件或數(shù)據(jù)庫(kù);本文采用的是數(shù)據(jù)庫(kù)依賴CDbCacheDependency;

         本例指定的是數(shù)據(jù)庫(kù),通過(guò)數(shù)據(jù)表的某個(gè)值的變化來(lái)確定緩存是否失效。例如,如果在表中新增了一條me115_book記錄,即使緩存才過(guò)了2分鐘(<3600),仍然判斷為失效,從而查詢數(shù)據(jù)庫(kù),生成整個(gè)頁(yè)面,再次緩存;

      檢查:

      查看當(dāng)前頁(yè)面是否緩存,可以dump輸出一個(gè)當(dāng)前服務(wù)器時(shí)間,從而檢查當(dāng)前頁(yè)面是否已緩存;

      優(yōu)化效果:

      優(yōu)化站點(diǎn)為一個(gè)博客站點(diǎn)(me115.com),除了DNS解析轉(zhuǎn)接外,未進(jìn)行任何優(yōu)化,優(yōu)化前的數(shù)據(jù)為:

      首字節(jié)時(shí)間為842ms;

      采用頁(yè)面緩存之后的效果:

      首字節(jié)時(shí)間為376ms;html生成的時(shí)間大大縮短,后臺(tái)時(shí)間減少了一倍。

      當(dāng)然,通過(guò)本圖可以看到整個(gè)站點(diǎn)的用時(shí)還是比較長(zhǎng),主要是在頁(yè)面組件(css/js/圖片)上的下載耗費(fèi)了不少時(shí)間,后續(xù)將針對(duì)這方面進(jìn)行前端優(yōu)化;

        php源碼
        (36)php源碼
        php是英文超級(jí)文本預(yù)處理語(yǔ)言HypertextPreprocessor的縮寫(xiě)。php源碼是一種網(wǎng)站搭建數(shù)據(jù)源碼,支持html內(nèi)嵌操作,通常用于網(wǎng)站平臺(tái)的搭建。php源碼上手簡(jiǎn)單,模板化強(qiáng),可以直接將整套功能性系統(tǒng)代碼嵌入到你的程序中來(lái)。本次為大家?guī)?lái)php源碼資源整合,包含了各類服務(wù)器網(wǎng)站搭建源碼,php源碼教程軟件以及一些功能性的擴(kuò)展包資源。有相關(guān)php源碼搭建使用需求的朋友們不妨試試吧!php源碼功能優(yōu)勢(shì):1、PHP是開(kāi)放的源代碼:所有的PH...更多>>

        相關(guān)評(píng)論

        閱讀本文后您有什么感想? 已有人給出評(píng)價(jià)!

        • 8 喜歡喜歡
        • 3 頂
        • 1 難過(guò)難過(guò)
        • 5 囧
        • 3 圍觀圍觀
        • 2 無(wú)聊無(wú)聊

        熱門(mén)評(píng)論

        最新評(píng)論

        發(fā)表評(píng)論 查看所有評(píng)論(8)

        昵稱:
        表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
        字?jǐn)?shù): 0/500 (您的評(píng)論需要經(jīng)過(guò)審核才能顯示)