有没有办法确保页面来自生产服务器和开发服务器上的缓存?
该解决方案不应涉及缓存中间件,因为并非每个项目都使用它们。虽然解决方案本身可能是一个中间件。
仅检查数据是否过时并不是 IMO 一种非常安全的测试方法。
有没有办法确保页面来自生产服务器和开发服务器上的缓存?
该解决方案不应涉及缓存中间件,因为并非每个项目都使用它们。虽然解决方案本身可能是一个中间件。
仅检查数据是否过时并不是 IMO 一种非常安全的测试方法。
我们做了很多组件缓存,但并非所有组件都同时更新。所以我们在一个普遍包含的上下文处理器中设置主机和时间戳值。在每个模板片段的顶部,我们坚持:
<!-- component_name {{host}} {{timestamp}} -->
component_name 只是使查看源代码和搜索该字符串变得容易。
我们所有的对象详细页面视图都定义了一个上下文变量“page_object”,我们在 base.html 模板主文件的顶部有这个:
<!-- {{page_object.class_id}} @ {{timestamp}} -->
class_id() 是我们所有主要内容类都使用的超类的方法。它只是:
def class_id(self):
"%s.%s.%s" % (self.__class__._meta.app_label,
self.__class__.__name__, self.id)
如果您加载一个页面并且任何时间戳都超过几秒,那么很有可能该组件已被缓存。
Peter Rowells 的建议效果很好,但您不需要用于时间戳的自定义模板上下文处理器。您可以简单地使用模板标签:
<!-- {% now "jS F Y H:i" %} -->
模拟视图,点击页面,看看是否调用了模拟。如果不是,则使用缓存。
使用缓存的原因是为了提高性能。通过对您的服务器运行负载测试来测试性能。如果服务器的性能符合您的需求,那么一切就绪!