📡 You're offline — showing cached content
New version available!
Quick Access
Tutorials Flask Web Framework Flask Caching

Flask Caching

5 min read
Cache slow views and functions with Flask-Caching using Redis, file, or in-memory backends.

Caching with Flask-Caching

pip install flask-caching

from flask_caching import Cache

cache = Cache(config={"CACHE_TYPE": "redis", "CACHE_REDIS_URL": "redis://localhost:6379/0"})
cache.init_app(app)

# Cache a view
@app.route("/stats")
@cache.cached(timeout=300)  # 5 minutes
def stats():
    return jsonify(get_expensive_stats())

# Cache with query params
@app.route("/users")
@cache.cached(timeout=60, query_string=True)
def users():
    return jsonify(User.query.all())

# Cache a function
@cache.memoize(timeout=600)
def get_user_posts(user_id):
    return Post.query.filter_by(user_id=user_id).all()

# Clear cache
cache.delete("view//stats")
cache.delete_memoized(get_user_posts, user_id=42)
cache.clear()