避免每次都重复大量查询

时间:2018-05-29 17:27:37

标签: django performance django-views django-queryset

我已经建立了一个网站,其中包含许多包含许多查询的视图 我的问题是如何避免重复用户多次访问的观看次数?

以下是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

尽可能,每次访问该页面时,相同的查询都会重复..

任何提示都会有所帮助,谢谢你提前!

1 个答案:

答案 0 :(得分:1)

您可以向应用程序添加缓存层。可以与Django一起使用的技术之一是Memcached

以下是关于使用Memcached设置缓存的Django文档中的信息:https://docs.djangoproject.com/en/2.0/topics/cache/#memcached

同样的页面也有关于在Django中使用缓存的信息,包括per-view cache