Sommaire

La gestion des caches

Django permet de concevoir des sites dynamiques, mais la contrepartie d’un site dynamique est que chaque requête va activer des traitements : des accès à la base de données vont être réalisés, du code Python exécuté et des templates rendus. En dehors du fait de chercher à optimiser tout cela, comme cela est présenté dans ce chapitre à la section relative au déploiement, la mise en place de mécanismes de gestion du cache est particulièrement importante car ils permettent des économies de temps de traitement et/ou de bande passante. Avant de rentrer dans les détails techniques des mécanismes offerts par Django, nous allons parler de la gestion de deux types de mécanismes de cache, pour lesquels on va devoir mettre en œuvre des stratégies différentes selon le type.

1. Le cache côté client ou cache du navigateur

Le premier type de cache est un cache sur lequel nous n’avons pas directement le contrôle, mais qui va permettre d’économiser à la fois du temps machine et de la bande passante. Les mécanismes que nous allons décrire s’appliquent également à tous les caches situées en aval du serveur, serveurs de cache ou proxies.

Schémas :

images/14RI03.png

Principe de fonctionnement du cache côté client

Nous n’avons pas directement le contrôle sur les caches situés en aval de notre ...