Performance: Response caching strategies
HIGH IMPACT
Response caching affects how fast the server can deliver content and reduces load on the server and network, improving page load speed.
from flask import Flask, jsonify, make_response import time app = Flask(__name__) cache = {} @app.route('/data') def data(): if 'result' in cache and time.time() - cache['time'] < 60: response = make_response(jsonify(cache['result'])) response.headers['Cache-Control'] = 'public, max-age=60' return response result = expensive_computation() cache['result'] = result cache['time'] = time.time() response = make_response(jsonify(result)) response.headers['Cache-Control'] = 'public, max-age=60' return response
from flask import Flask, jsonify app = Flask(__name__) @app.route('/data') def data(): # No caching, recomputes every request result = expensive_computation() return jsonify(result)
| Pattern | DOM Operations | Reflows | Paint Cost | Verdict |
|---|---|---|---|---|
| No caching, recompute every request | N/A (server-side) | N/A | Increases LCP due to slow response | [X] Bad |
| Server-side caching with Cache-Control headers | N/A (server-side) | N/A | Faster LCP due to quick response | [OK] Good |