gpt4 book ai didi

Django 缓存 - 如何设置我的代码以避免重复缓存逻辑?

转载 作者:行者123 更新时间:2023-12-01 05:33:43 24 4
gpt4 key购买 nike

我开始分析我的应用程序并发现有一段代码需要比其他代码更长的时间才能完成。在 View 中,我正在从数据库中检索一些数据并对其进行一些转换。在模板中,有一个过滤器可以将转换后的数据转换为 HTML。

我意识到我可以利用缓存,因为这个组件不会经常改变,但我想知道最好的方法是什么。我可以缓存数据库调用/转换的结果,但我也可以缓存模板片段。我需要缓存两件事才能获得最佳效果似乎很奇怪,所以我想我的代码应该有不同的结构,所以我只需要将数据缓存在一个位置。

我的一个想法是从模板过滤器函数内进行数据库调用,但我一直试图将我的模型代码保留在模板过滤器之外。

处理此类问题的最佳方法是什么?

最佳答案

如果转换可以表示为复杂的查询集,您可以在没有缓存的模板中对其进行评估。如果没有,你可以

  • 在缓存块内的模板标签中做逻辑
  • 包装逻辑并将其传递给渲染,通常以闭包或模型方法的形式
  • 只做 View 缓存,只要渲染过程简单
  • 在 TemplateResponse 的帮助下检查 SSI 的可能性
  • 编写代码以查看检查和使用模板缓存,同时考虑可能的竞争写入和狗堆问题。

  • 此外,对于查询集缓存,您可以尝试 johnny-cache ,以及 django-cache-machine .

    关于Django 缓存 - 如何设置我的代码以避免重复缓存逻辑?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10013115/

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