Ton site est lent ? La base de données rame ? La solution n°1 : Le Cache.
Pourquoi recalculer une page d'accueil qui change une fois par jour à chaque visite ? On la calcule une fois, on la stocke en mémoire (Cache), et on la sert instantanément aux 10 000 visiteurs suivants.
Flask-Caching
pip install flask-caching
Configuration
from flask_caching import Cache
cache = Cache(config={'CACHE_TYPE': 'SimpleCache'}) # En mémoire RAM (pour le dev)
# En prod, on utiliserait 'RedisCache'
app = Flask(__name__)
cache.init_app(app)
Utilisation
C'est aussi simple qu'un décorateur.
@app.route('/long_calcul')
@cache.cached(timeout=60) # Met en cache le résultat pendant 60 secondes
def long_calcul():
import time
time.sleep(5) # Simule un truc lent
return "Ouf, c'est fini !"
La première fois : 5 secondes d'attente. La deuxième fois : 0.001 seconde. 🚀