我需要将memcached添加到我的django网站。 这是一个经过身份验证的网站,不同的用户在同一页面上看到不同的数据。 哪些是最佳做法? 我的意思是,为了避免用户看到彼此缓存的页面(信息泄漏)...
我想我应该使用类似的东西:
{% load cache %}
{% cache 500 sidebar request.user.username %}
.. sidebar for logged in user ..
{% endcache %}
要么:
@vary_on_cookie
def my_view(request):
# ..
哪个是最安全,更好的方法?
根本不是同一回事, {% cache %}
模板标记允许缓存模板片段,该片段由服务器使用, @vary_on_cookie
装饰器将Vary响应标头设置为Cookie,浏览器使用。
另外,您可以执行{% cache 500 sidebar request.user %}
而不指定用户名。