如果想對快取進行更多的控制,可以使用cache
模板標籤來快取模板的乙個片段。 要讓模板處理這個標籤,把放在快取片段的上面。
標籤將按給定的時間快取包含塊中的內容。 它最少需要兩個引數:快取時間(以秒為單位);給快取片段起的名稱。 該名稱將被視為是,不使用變數。 像這樣:
.. sidebar ..
有時,你可以依據這個片段內的動態內容快取多個版本。 如上個例子中,可以給站點的每個使用者生成不同版本的sidebar快取。 只需要給
標籤再傳遞乙個引數來標識區分這個快取片段。
.. sidebar for logged in user ..
指定乙個以上的引數來識別片段是非常好的。 簡單的盡可能的傳遞你需要的引數到
。
如果use_i18n
設定為true
,則每個**中介軟體快取將respect the active language。 對於cache
模板標記,您可以使用模板中提供的translation-specific variables之一來實現相同的結果:
快取超時可以是模板變數,只要模板變數解析為整數值即可。 例如,如果模板變數600
設定為值my_timeout
,則以下兩個示例是等效的:
...
...
此功能有助於避免模板中的重複。 您可以在乙個位置設定變數的超時,只需重複使用該值。
預設情況下,快取標籤將嘗試使用名為「template_fragments」的快取。 如果不存在這樣的快取,則它將回退到使用預設快取。 您可以選擇要與using
關鍵字引數一起使用的備用快取記憶體後端,該引數必須是標記的最後乙個引數。
指定未配置的快取名稱被視為錯誤。
django.core.cache.utils。
make_template_fragment_key
(fragment_name,vary_on = none)
如果您想獲得用於快取片段快取鍵,就可以使用make_template_fragment_key
.fragment_name
與cache
模板標籤的第二個引數相同;vary_on
是傳遞給標籤的所有其他引數的列表。 該功能可以用於無效或覆蓋快取項,例如:
>>> from django.core.cache import cache
>>> from django.core.cache.utils import make_template_fragment_key
# cache key for
>>> key = make_template_fragment_key('sidebar', [username])
>>> cache.delete(key) # invalidates cached template fragment
YII之片段快取
yii的片段快取應用的話挺簡單的 1,在配置檔案裡開啟快取 man.php cache array class system.caching.cfilecache 或者這樣 只是不同的書寫格式而已 cache class yii caching filecache 2,接下來就是使用快取了 直接在v...
Yii 片段快取的使用
yii沒有外掛程式支援頁面靜態化,但很好的支援頁面片段快取,雖然仍然需要經過php處理,考慮到網路因素,已經能和靜態頁面達到差不多的效能效果。下面是 示範,解決的問題是根據使用者會話情況來判斷快取的使用 begincache user div array varybysession 1 如果使用的是...
django 重新整理快取 Django 中的快取問題
django 中的快取問題 簡單介紹 在動態 中,使用者所有的請求,伺服器都會去資料庫中進行相應的增,刪,查,改,渲染模板,執行業務邏輯,最後生成使用者看到的頁面.當乙個 的使用者訪問量很大的時候,每一次的的後台操作,都會消耗很多的服務端資源,所以必須使用快取來減輕後端伺服器的壓力.快取是將一些常用...