詳解Django框架中的視圖級緩存
更加顆粒級的緩存框架使用方法是對單個視圖的輸出進行緩存。 django.views.decorators.cache定義了一個自動緩存視圖響應的cache_page裝飾器。 他是很容易使用的:
from django.views.decorators.cache import cache_page def my_view(request): # ... my_view = cache_page(my_view, 60 * 15)
也可以使用Python2.4的裝飾器語法:
@cache_page(60 * 15) def my_view(request): # ...
cache_page 只接受一個參數(shù): 以秒計的緩存超時時間。 在前例中, “my_view()” 視圖的結(jié)果將被緩存 15 分鐘。 (注意: 為了提高可讀性,該參數(shù)被書寫為 60 * 15 。 60 * 15 將被計算為 900 ,也就是說15 分鐘乘以每分鐘 60 秒。)
和站點緩存一樣,視圖緩存與 URL 無關(guān)。 如果多個 URL 指向同一視圖,每個視圖將會分別緩存。 繼續(xù) my_view 范例,如果 URLconf 如下所示:
urlpatterns = ('', (r'^foo/(\d{1,2})/$', my_view), )
那么正如你所期待的那樣,發(fā)送到 /foo/1/ 和 /foo/23/ 的請求將會分別緩存。 但一旦發(fā)出了特定的請求(如: /foo/23/ ),之后再度發(fā)出的指向該 URL 的請求將使用緩存。
相關(guān)文章
不同系統(tǒng)下python與pip的安裝及常見問題詳解
學習python的第一步,是安裝python,這篇文章主要是介紹,如何在不同的系統(tǒng)上安裝python,以及遇到的一些問題,感興趣的小伙伴可以跟隨小編一起學習一下2024-01-01