首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何测试django缓存?

如何测试django缓存?
EN

Stack Overflow用户
提问于 2008-12-07 17:41:35
回答 4查看 7.4K关注 0票数 17

有没有一种方法可以确保页面来自生产服务器和开发服务器上的缓存?

解决方案不应该涉及缓存中间件,因为并不是每个项目都使用它们。尽管解决方案本身可能是中间件。

仅仅检查数据是否陈旧并不是一种非常安全的测试方法。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2008-12-08 02:33:17

我们做了大量的组件缓存,但并不是所有的组件都会同时更新。因此,我们在一个通用的上下文处理器中设置主机和时间戳值。在我们插入的每个模板片段的顶部:

代码语言:javascript
复制
<!-- component_name {{host}} {{timestamp}} -->

component_name使得查看源代码和搜索该字符串变得很容易。

我们所有作为对象详细页的视图都定义了一个上下文变量"page_object“,并且我们在base.html模板主页的顶部有以下内容:

代码语言:javascript
复制
<!-- {{page_object.class_id}} @ {{timestamp}} -->

class_id()是所有主要内容类使用的超类中的方法。它只是:

代码语言:javascript
复制
def class_id(self):
    "%s.%s.%s" % (self.__class__._meta.app_label,
                    self.__class__.__name__, self.id)

如果您加载了一个页面,并且任何时间戳都超过了几秒钟,那么很可能该组件被缓存了。

票数 20
EN

Stack Overflow用户

发布于 2011-04-06 16:32:15

Peter Rowells的建议效果很好,但是你不需要一个自定义的模板上下文处理器来处理时间戳。您可以简单地使用模板标记:

代码语言:javascript
复制
 <!-- {% now "jS F Y H:i" %} --> 
票数 16
EN

Stack Overflow用户

发布于 2008-12-07 21:06:49

模拟视图,点击页面,查看是否调用了模拟。如果不是,则使用缓存。

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

https://stackoverflow.com/questions/347812

复制
相关文章

相似问题

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