2009-11-23 23 views
5

如何我可以證實,當我使用cache_page裝飾,像這樣我的Django的意見被緩存:Django的cache_page檢查

@cache_page(60) 
def my_view(request): 

理想我想輸出緩存命中/缺失的消息在控制檯,所以我可以確認我的觀點是被緩存60秒等

非常感謝, 摹

回答

5

可以django-debug-toolbarhttp://github.com/robhudson/django-debug-toolbar)副本,並觀看了疑問:如果頁面沒有被從緩存中提取的,應django-debug-toolbar顯示所有組裝您的頁面所需的查詢。如果頁面從緩存中取出,您將看不到查詢。

您還可以將日誌記錄添加到正在使用的特定高速緩存封裝器,然後在django-debug-toolbar的「日誌記錄」面板中引用輸出。繼承人的是什麼看起來像一個例子:http://gist.github.com/242011

我也建議你抓住的django-memcache-statushttp://github.com/bartTC/django-memcache-status)和memcache-tophttp://code.google.com/p/memcache-top/)的副本,如果你有興趣,在詳細監視內存緩存使用。

+0

aha!這正是我所期待的。謝謝。 – givp 2009-11-25 11:09:23

+1

的要點是,這就是爲什麼你應該在這裏粘貼代碼。 – 2014-02-25 23:41:06

1

根據您所使用的緩存中間件,你可以檢查該類的process_request方法並找到了一些線這樣的(採取FR om django/middleware/cache.py

131 response = cache.get(cache_key, None) 
132 if response is None: 
133  ... 

...  logging.debug("Cache miss") 
... 
... else: 
...  logging.debug("Cache hit") 

並從那裏記錄消息。我承認,這不是清潔的方式來做到這一點。