当前位置:  开发笔记 > 编程语言 > 正文

如何测试django缓存?

如何解决《如何测试django缓存?》经验,为你挑选了3个好方法。

有没有办法确保页面来自生产服务器和开发服务器上的缓存?

解决方案不应涉及缓存中间件,因为并非每个项目都使用它们.虽然解决方案本身可能一个中间件.

只检查数据是否陈旧不是一种非常安全的IMO测试方法.



1> Peter Rowell..:

我们做了很多组件缓存,并不是所有组件都同时更新.因此,我们在通用包含的上下文处理器中设置主机和时间戳值.在每个模板片段的顶部,我们坚持:


component_name只是可以轻松地查看源代码并搜索该字符串.

我们作为对象详细信息页面的所有视图都定义了一个上下文变量"page_object",我们将它放在base.html模板主页的顶部:


class_id()是来自我们所有主要内容类使用的超类的方法.它只是:

def class_id(self):
    "%s.%s.%s" % (self.__class__._meta.app_label,
                    self.__class__.__name__, self.id)

如果您加载一个页面并且任何时间戳都超过几秒钟,那么该组件被缓存是一个相当不错的选择.


添加上下文处理器很简单!1.创建一个文件,例如my_context.py.2.创建一个接受请求对象的函数,例如my_context(request).3.返回所有模板可用的有趣内容的字典.4.将"my_context.my_context"添加到settings.py中的TEMPLATE_CONTEXT_PROCESSORS.5.利润!

2> Johannes..:

Peter Rowells的建议很有效,但您不需要自定义模板上下文处理器来获取时间戳.您只需使用模板标记:

  



3> ironfroggy..:

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

推荐阅读
惬听风吟jyy_802
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有