首页 > 解决方案 > Django 为所有网站访问者缓存整个呈现的 HTML 页面

问题描述

我有一个特定的视图,需要一分钟才能为所有用户加载。视图的内容并不特定于查看它生成的呈现 HTML 的用户(这是一个很大的计划),但是每次有人访问计划页面时都不可能(而且效率极低)运行该昂贵的操作。

所以我想要做的是将整个页面的渲染内容缓存在我的数据库中,甚至可能是 S3 中的一个文件。我看到的所有 Django 和缓存文档通常都在谈论将每个唯一访问者缓存到您要缓存的应用程序部分,但不是针对整个站点。我想始终向所有人呈现相同的缓存视图。在这种情况下,我什至不确定缓存是否是正确的词。

它不是静态页面的原因是因为内容确实每天更改几次(大约),但我没有问题将 post_save 信号连接到时间表,以便刷新缓存和完整呈现的 HTML 内容。

这是我第一次深入研究缓存,所以我的理解可能存在一些基本缺陷。将不胜感激任何指导!

标签: pythondjangocachingmemcached

解决方案


相反,几乎所有 Django 的文档都在讨论为所有用户进行缓存,尤其是按视图缓存,它完全可以满足您的需求。每个唯一用户的缓存要困难得多。


推荐阅读