From 110db529944c896573e4310938090d7476348761 Mon Sep 17 00:00:00 2001 From: viennet Date: Sat, 12 Feb 2022 12:02:21 +0100 Subject: [PATCH] Note sur les caches --- docs/Internals.md | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/docs/Internals.md b/docs/Internals.md index 9888e8e24..15516c77d 100644 --- a/docs/Internals.md +++ b/docs/Internals.md @@ -25,8 +25,7 @@ l'ORM SQLAlchemy (recommandé pour tout nouveau code). Les modèles correspondant sont déclarés dans `/opt/scodoc/app/models/`. -Principales classes (le nom de certaines classes Python est donné en -`CaractèresCommeCa`). +Principales classes (les noms des classes Python sont en `CamelCase`). - Étudiants (classe `Identite`): nom, codes INE/NIP, etc - Formations: programmes pédagogiques, contenant @@ -72,4 +71,20 @@ def un_exemple(): formation=formation, ... # etc ) -``` \ No newline at end of file +``` + +# Caches + +Il est bon de savoir que les requêtes SQL de SQLAlchemy ne sont pas cachées: ni +la requête elle même (construction du SQL à partir des appels à l'ORM), ni son +résultat. + +Le module `sco_cache.py` offre la possibilité de cacher des objets python +identifiés par un id unique dans le cache Redis. Ce cache est persistant, il +faut donc invalider les objets quand on écrit des données susceptibles de les +modifier, et penser à le vider quand on modifie le code. +Par exemple: +``` + git pull + flask clear-cache +```