django - 避免每次都重复大量查询
问题描述
我已经建立了一个网站,有很多包含许多查询的视图 我的问题是如何避免重复用户多次访问的视图中的一些查询?.
这是views.py的一个例子
@access_to(['is_admin','is_job_seeker'])
def negotiationView(request,slug,id,code):
obj = get_object_or_404(Group,slug=slug)
nego = get_object_or_404(Negotiation,id=id,code=code)
related_negos = Negotiation.objects.filter(tag=nego.tag)
# New tag can be created every 2 months or more
all_jobs = obj.job_offers.filter(published=True) # new job can be added every week
如您所知,每次我访问该页面时,都会重复相同的查询..
任何提示都会有所帮助,在此先感谢您!
解决方案
您可以将缓存层添加到您的应用程序。可以与 Django 一起使用的技术之一是Memcached。
这是 Django 文档中有关使用 Memcached 设置缓存的信息:https ://docs.djangoproject.com/en/2.0/topics/cache/#memcached
同样的页面也有关于在 Django 中使用缓存的信息,包括按视图缓存
推荐阅读
- yaml - 此处不允许使用 yml 映射值(语法)
- python - 使用 zeep 库在 python 中通过 AWS Lambda 调用 SOAP Web 服务
- c# - 如何通过聚合从 mongo 集合中过滤 datetime.Month?
- python - Python,升级 python 版本/更改为较旧的 python 版本
- ruby-on-rails - 从android调用create api后如何在rails中打印
- akka - 如何在 Akka 集群中观看远程 actor 的死亡?
- python - 我在定义基于用户输入的变量时遇到了一些 Python 问题
- oracle - 是否可以在 PL/SQL 开发人员测试窗口的“声明”块中声明子过程?
- c# - IJavaScriptExecutor 在 C# 中的 AppiumDriver 中不起作用。方法未实现
- java - Java——尝试运行我的字母表程序时出现无限循环。我似乎找不到错误