Note sur les caches

This commit is contained in:
Emmanuel Viennet 2022-02-12 12:02:21 +01:00
parent 9fadb97c9f
commit 110db52994

View File

@ -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/`. Les modèles correspondant sont déclarés dans `/opt/scodoc/app/models/`.
Principales classes (le nom de certaines classes Python est donné en Principales classes (les noms des classes Python sont en `CamelCase`).
`CaractèresCommeCa`).
- Étudiants (classe `Identite`): nom, codes INE/NIP, etc - Étudiants (classe `Identite`): nom, codes INE/NIP, etc
- Formations: programmes pédagogiques, contenant - Formations: programmes pédagogiques, contenant
@ -72,4 +71,20 @@ def un_exemple():
formation=formation, formation=formation,
... # etc ... # etc
) )
``` ```
# 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
```