模型保存中的django url缓存失效

django-dumper的Python项目详细描述


为什么……?

django dumper的创建是为了抓挠一个相当特殊的痒点。我有 在有大量图像的页面上,无法减少加载时间。通过 默认情况下,如果要在模板中呈现图像的URL、宽度和高度,则 每个映像对存储后端的访问次数为三次。有了远程后端, 与s3一样,这会造成较长且不可靠的页面加载时间。如果你更聪明 创建缓存的高度和宽度字段 击中。对于一个有100多张图片的页面来说,这仍然不是理想的选择。所以我想,唯一 这些图像发生变化的时间,就是模型保存的时间。然后我开始 我在想,实际上我的页面唯一一次改变是当一个模型 保存的。当然,我仍然希望页面加载时间尽可能短 在缓存之前,但是如果 在有人换了一个模型之前,每一个访客的模型都是一样的?

所以我开始构建一个可以让我做到这一点的应用程序。它 将无限期缓存每个响应的全部内容。那么它就会 每当保存模型时,根据响应的路径使其失效。 例如,如果 /ice-cream/ 页面显示每个口味和 /ice-cream/<;风味名称>;/ 有关于风味的详细信息,然后 每次保存一个flavor时,它不仅应该使其特定的细节失效 页面,也包括一般列表页面。这绝对是一种暴力手段, 但这对我来说是有意义的,因为它是安全的。你可能会过度无效,但是, 如果设置正确,则永远不会有过时的缓存。

这绝不是一个万能的缓存应用程序。网站呈现的每个页面 只能由模型决定。详细视图和列表视图是页面的示例 由模型决定。另外,如果您的站点根据请求而有所不同 标题(cookies、语言等)则不起作用,因为它会 向所有访客提供相同版本的服务。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
serversocket Java服务器socket中断如何   java通过随机类和排序为数组生成数据   @Column length大于255个字符的java实体   java在使用NIO2 API时消除检查异常   java使用用户凭据通过Microsoft Graph API上的控制台应用程序发送电子邮件   java将2个ArrayList一个接一个地显示到jTextArea中,根据输入的数据多次显示   java无法使用导入的库。安卓工作室。谷歌云端点jar   spring boot Neo4j Apoc在java中获取结果摘要时的情况   转义特殊字符javajson   无法在java中使用OpenCV读取图像,涉及unicode路径   swing Document Listener java“无法实例化DocumentListener类型”   java Piglatin,难以理解如何移动“.”一串   java映射请求基于一个可观察对象中的每个元素,使用改进?   java在可扩展字符串中搜索时,如何忽略字符的大小写?   在包中分组类的java约定   python为Java应用程序创建Ubuntu指示小程序   java Camunda:如何通过processInstanceId获取所有已完成的任务