当且仅当用户是loggedout时使用Django的缓存?

2024-10-11 16:28:16 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要在我的django1.8站点上实现缓存(显然是为了加速渲染)。计划是使用Memcache,尽管这个问题并没有直接联系到它。在

现在,很多流量都流向了一组保持不变的特定博客帖子。但是,在整个站点中有一个通用的动态topbar,它可以根据登录用户的不同而有所不同,因此我需要一个缓存函数,当且仅当用户是匿名用户时才会启动——例如,如果用户登录,则完全绕过该功能。在

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

我可能会使用我自己的url/ll缓存来访问我的所有的url/ll缓存。虽然这看起来并不难,但这似乎是一个非常常见的特性。在Django真的没有什么东西能正确地做到这一点吗?我担心我可能错过了一些东西,正在重新安装轮子。在

谢谢你!在


Tags: django函数用户功能url站点动态内置
1条回答
网友
1楼 · 发布于 2024-10-11 16:28:16

首先,模板缓存被高估了。首先使用django调试工具栏来确定在django安装中模板呈现是否确实很慢。我打赌这不是瓶颈。如果你发现它很慢。可以按每个用户进行缓存,如下所示:

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

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

相关问题 更多 >

    热门问题