Yii 2 0如何使用頁面快取方法示例

2023-03-19 00:20:34 字數 1176 閱讀 6574

前言

起初使用頁面快取,發現使用於含有引數的方法存在弊端,只能快取第一次的頁面,導致後面所有不同引數的頁面均顯示第一次快取頁面;沒有生成一個引數頁面一個快取;於是,進行了重寫頁面快取。

示例**

php

namespace common\lib;

use yii;

use yii\caching\cache;

use yii\di\instance;

use yii\web\response;

use yii\filters\pagecache as pcache;

/*** 重寫頁面快取,增加varbyparam引數一列

*/class pagecache extends pcache

$this->cache = instance::ensure($this->cache, cache::classname());

if (is_array($this->dependency))

$properties = ;

foreach (['cache', 'duration',程式設計客棧 'dependency', 'variations'] as $name)

$id = $this->varybyroute ? $action->程式設計客棧getuniqueid().$this->varbyparam : __class__;

$response = yii::$app->getwww.cppcns.comresponse();

ob_start();

ob_implicit_flush(false);

if ($this->view->begincache($id, $properties)) else

$response->content = ob_get_clean();

return false;

} }} ?>

使用:[

'class' => 'common\lib\pagecache',

'only' => ['view'],

'durokwumration' => 0, //永不過期

'varbyparam' => yii::$app->request->get('id'),

],總結

本文標題: yii 2.0如何使用頁面快取方法示例

本文地址:

Yii 的快取(頁面快取配置例項)

作為php的開源框架,自然少不了對快取的支援。yii快取可以在不同的級別使用。在最低階別,可用來快取單個資料 資料快取 往上一級,我們快取一個由檢視指令碼生成的頁面片斷 片段快取 在最高階別,可儲存整個頁面以便需要的時候直接從快取讀取。本文說明頁面快取的配置及實現效果 實現分為2步 1.在confi...

15 使用部分頁面快取2

3 共享使用者控制元件的輸出快取 預設情況下,同一個使用者控制元件在不同頁面上的例項不共享相同的快取。希望跨頁面快取相同的使用者控制元件的內容。需要指定 outputcache 指定shared特性。sharedmovie.ascx code control language c classname...

快取cache使用示例

快取cache使用示例 以下示例中將從web.config中讀出一配置項存入快取。private string config wfservicelogdir catch httpcontext.current.cache.insert strkey,strlogdir,null,datetime.n...

使用Cache快取Page頁面

使用cache outputcache duration 15 varybypara none 頁面使用cache,cache的有效期為15 seconds 使用 表示,放在page load裡面 cache manager可以控制這個頁面 response.cache.setcacheabilit...

使用Cache快取Page頁面

使用cache outputcache duration 15 varybypara none 頁面使用cache,cache的有效期為15 seconds 使用 表示,放在page load裡面 cache manager可以控制這個頁面 告訴cache manager,頁面的有效期為當前時間 1...

13 使用頁面輸出快取2

8 使用程式設計方式設定頁面輸出快取過期 可以使用response.removeoutputcacheitem 方法,以程式設計的方式從快取中移除一個頁面。movielist.aspx code page language c outputcache duration 3600 varybypara...

OSCache頁面快取的使用

完成專案時,為了減少對資料庫的頻繁操作,引出了快取,快取分為以下幾種 1.一級快取 一級快取的儲存域是session,作用於單個的dao 2.二級快取 二級快取的儲存域是sessionfactory,作用於全域性,對每個dao都產生作用 3.分散式快取 分散式快取應用於網際網路高併發專案中,把快取放...

使用Cache快取Page頁面

使用cache outputcache duration 15 varybypara none 頁面使用cache,cache的有效期為15 seconds 使用 表示,放在page load裡面 cache manager可以控制這個頁面 告訴cache manager,頁面的有效期為當前時間 1...

PHP頁面快取示例 減輕CPU和MYSQL負擔

正 文 剛做完php頁面cache方面的東西,做一下筆記 ob start 頁面快取開始的標誌,此函式一下的內容直至ob end flush 或者ob end clean 都儲存在頁面快取中 ob get contents 用來獲取頁面快取中的內容,獲取到以後呢,我們就可以想怎麼處理這些內容都行了,...

頁面快取 URL快取 物件快取

頁面快取 優化 這種快取技術一般用於不會經常變動資訊,並且訪問次數較多的頁面,這樣就不用每次都動態載入。商品列表頁 頁面快取 1.取快取 2.手動渲染 3.結果輸出 thymeleaf 的頁面渲染技術。responsebody produces text html public string to ...