From 110db529944c896573e4310938090d7476348761 Mon Sep 17 00:00:00 2001
From: viennet <emmanuel.viennet@gmail.com>
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 9888e8e..15516c7 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
+```