gpt4 book ai didi

python - 当且仅当用户注销时才使用 Django 的缓存?

转载 作者:行者123 更新时间:2023-11-28 18:35:08 25 4
gpt4 key购买 nike

我需要在我的 Django 1.8 站点上实现缓存(显然是为了加快渲染速度)。计划是使用 Memcache,尽管这个问题与它没有直接关系。

目前,大量流量流向一组保持不变的特定博客文章。但是,整个站点都有一个通用的动态顶部栏,它可能因登录用户而异,因此我需要一个缓存功能,当且仅当用户是匿名用户时才会启动 - 例如如果用户已登录,则完全绕过。

看来Django的内置缓存并没有真正区分登录用户和注销用户,所以如果我使用它,会对登录用户产生不利影响。

我可能必须使用较低级别的缓存 API 编写自己的缓存装饰器/缓存函数,并将其附加到站点上所有可注销访问的 URL/ View 。虽然它似乎 并不困难,但这确实是一个非常普遍的功能。 Django 中真的没有任何东西可以正确地做到这一点吗?我担心我可能错过了一些东西,正在重新实现轮子。

谢谢!

最佳答案

首先,模板缓存被高估了。首先使用 django 调试工具栏来确定模板渲染是否确实在您的 django 安装上很慢。我敢打赌这不是瓶颈。如果你发现它很慢。您可以按如下方式在每个用户的基础上进行缓存:

{% cache 300 FULL_PAGE request.build_absolute_uri request.user %}

cache template tag 的第一个参数是超时,第二个是其他人唯一标识该片段的名称。

关于python - 当且仅当用户注销时才使用 Django 的缓存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33297818/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com