国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > PHP > 正文

Yii緩存之片段緩存

2020-03-22 19:16:15
字體:
來源:轉載
供稿:網友
  • 我們網站在進行訪問的時候,有一些信息在相對一段時間之內是穩定,我們就把這樣的信息放入緩存里邊,這樣用戶每次來訪問就是訪問緩存的信息,對于大負載量的網站,可以明顯提高網站的性能。


    YII本身緩存類型:

    緩存分類:

    片段緩存 一個頁面劃分為幾個區域,這幾個區域相對比較獨立,設計緩存的時候,可以為每個區域獨立開發制作緩存

    頁面緩存 :對整個頁面進行緩存

    動態緩存

    數據緩存

    使用片段緩存步奏:

    1. 在程序里邊設置緩存

                            <form name="compareForm" action="compare.php" method="post" onsubmit="return compareGoods(this);">                            <div html' target='_blank'>class="clearfix goodsBox" style="border: medium none; padding: 11px 0pt 10px 5px;">                                <!--片段緩存 實現-->                                <?php                                /*if($this->beginCache('緩存名稱')){                                 * duration 設置過期時間                                 * varyByParam 緩存變化                                 * dependency 緩存依賴                                 */                                if($this->beginCache('goods',array(                                    'duration'=>3600,                                    'varyByParam' => array('page'),                                    'dependency' =>array(                                        'class'=>'system.caching.dependencies.CDbCacheDependency',                                        'sql'=>'select sum(goods_price) from {{goods}}',                                    )                                ))){                                ?>                                <?php                                foreach($goods_infos as $_v){                                ?>                                <div class="goodsItem">                                    <a href="./index.php?r=goods/detail&id=<?php echo $_v->goods_id ?>" target="_blank"><img src="<?php echo $_v->goods_big_img; ?>" alt="<?php echo $_v->goods_name ?>" class="goodsimg"></a><br />                                    <p><a href="#" title="諾基亞N85"><?php echo $_v->goods_name ?></a></p>                                    <font class="market_s">¥<?php echo $_v->goods_price ?>元</font><br />                                    <font class="shop_s">¥<?php echo $_v->goods_price ?>元</font><br />                                    <a href="#"><img src="<?php echo IMG_URL; ?>goumai.gif"></a>                                     <a href="#"><img src="<?php echo IMG_URL; ?>shoucang.gif"></a>                                </div>                                <?php                                }                                ?>                                <?php $this -> endCache();} ?>                                                                                            </div>                        </form>


    2. 在主配置文件main.php里邊配置緩存組件cache(在這個地方決定使用哪種緩存) 我們的緩存是文件緩存,緩存的信息在目錄runtime存放


    設置緩存文件的過期時間

    Duration ()

    我們為緩存文件設置過期時間,在沒有過期的時候系統都會使用緩存文件,如果已經過期,那么系統要重新生成緩存文件。

    緩存變化:

    我們的商品列表有實現片段緩存,那么在訪問其他其它頁碼信息的時候也是訪問這個緩存頁面,因為,每頁信息的路由都是一樣的(goods/category),那么系統會誤認為當前系統訪問的頁面是一個頁面。當時頁面的page參數是不一樣的。

    因此我們需要根據參數的變化生成不同的緩存文件。


    根據頁碼不同,生成不同緩存文件:

    鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

  • 發表評論 共有條評論
    用戶名: 密碼:
    驗證碼: 匿名發表
    主站蜘蛛池模板: 德兴市| 东至县| 昌邑市| 临夏市| 措勤县| 东山县| 蒙自县| 孝感市| 石景山区| 南宁市| 垣曲县| 石柱| 抚州市| 瓦房店市| 鹤壁市| 贵港市| 大方县| 尉犁县| 温宿县| 囊谦县| 定州市| 武定县| 和平区| 普宁市| 永城市| 高淳县| 德钦县| 安吉县| 连州市| 白沙| 武邑县| 临泉县| 元阳县| 翁源县| 泾阳县| 郓城县| 乌兰浩特市| 镇沅| 台前县| 东乌珠穆沁旗| 阿鲁科尔沁旗|