首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Django cache_page检查

Django cache_page检查
EN

Stack Overflow用户
提问于 2009-11-24 06:35:38
回答 3查看 3.3K关注 0票数 8

当我像这样使用cache_page装饰器时,我如何确认我的Django视图被缓存:

代码语言:javascript
复制
@cache_page(60)
def my_view(request):

理想情况下,我希望在控制台中输出缓存命中/未命中消息,这样我就可以确认我的视图被缓存了60秒等等。

非常感谢,g

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2009-11-25 00:56:13

您可以获取django-debug-toolbar (http://github.com/robhudson/django-debug-toolbar)的副本并查看查询:如果没有从缓存中提取页面,django-debug-toolbar应该显示组装页面所需的所有查询。如果从缓存中拉出页面,您将看不到查询。

您还可以将日志记录添加到您正在使用的特定缓存包装器中,然后在django-debug-toolbar的“日志记录”面板中引用输出。

如果您对监视memcache的使用细节感兴趣,我还建议获取一份django-memcache-status (http://github.com/bartTC/django-memcache-status)和memcache-top (http://code.google.com/p/memcache-top/)的副本。

票数 5
EN

Stack Overflow用户

发布于 2009-11-24 07:59:53

根据您正在使用的缓存中间件,您可以检查该类的process_request方法,并找到类似下面这样的行(取自django/middleware/cache.py)

代码语言:javascript
复制
131  response = cache.get(cache_key, None)
132  if response is None:
133      ...

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

并记录来自那里的消息。我承认,这不是一种干净的方式。

票数 1
EN

Stack Overflow用户

发布于 2019-07-03 02:25:38

您可以通过查看HTTP响应中的标头来确认您的页面已被缓存。

代码语言:javascript
复制
$ curl -v http://localhost:8000/cached_view/ >/dev/null
[...]
< Cache-Control: max-age=900
< Expires: Tue, 02 Jul 2019 18:36:34 GMT
[...]

Cache-ControlExpires都表示在生成响应时涉及到缓存。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1786543

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档