Performance/cache tricks in Django

Performance tricks with Django ORM

 

Голямата картинка

middlewares => permission => api => service => result

 

request

response

Голямата картинка

middlewares => permission => api => service => result

 

request

response

Голямата картинка

middlewares => permission => api => service => result

 

request

response

Голямата картинка

middlewares => permission => api => service => result

 

request

response







 

Голямата картинка

middlewares => permission => api => service => result

 

Голямата картинка

middlewares => permission => api => service => result

 



 

Title Text

Предусловия

  • Ползваме архитектурата  "апи - сериализатор - сървис"
  • Пипаме по тежките апи-та, които се използват най-често
  • Тежките апи-та <=> взимане и парсване на обекти от базата
  • Без неща от сорта на obj['my_field']
  • СКОРОСТ!

Няколко "правила"

  • Не пипаме sql-а
  • Без груба сила (не ни трябва повече мощност)
  • Всичко в Python е обект и не е ок да не изглежда като обект - values, values_list
  • Държим конвенциите в Django                                         скорост <=> четимост

Как работи ORM-а

Model

 

Queryset <=> Manager

 

where

Query

group_by

join

...

DEMO

deck

By Ivaylo Donchev

deck

  • 539