0
0
Expressframework~8 mins

Cache middleware pattern in Express - Performance & Optimization

Choose your learning style9 modes available
Performance: Cache middleware pattern
HIGH IMPACT
This pattern affects server response time and reduces client wait by serving cached content quickly.
Serving repeated API responses efficiently
Express
const cache = {};
app.get('/data', (req, res, next) => {
  if (cache.data) {
    return res.json(cache.data);
  }
  next();
}, (req, res) => {
  const data = fetchFromDatabase();
  cache.data = data;
  res.json(data);
});
Caches data after first request, serving next requests instantly without DB calls.
📈 Performance GainReduces response time to under 10 ms; saves server CPU and DB load
Serving repeated API responses efficiently
Express
app.get('/data', (req, res) => {
  const data = fetchFromDatabase();
  res.json(data);
});
Every request hits the database causing slow responses and high server load.
📉 Performance CostBlocks rendering for 100+ ms per request; no caching
Performance Comparison
PatternDOM OperationsReflowsPaint CostVerdict
No cache middlewareN/A (server-side)N/AHigh due to slow response delaying LCP[X] Bad
Cache middleware serving cached dataN/AN/ALow, fast response improves LCP[OK] Good
Rendering Pipeline
Cache middleware intercepts requests before hitting the database, serving stored responses quickly to reduce server processing and network delay.
Server Processing
Network Transfer
⚠️ BottleneckServer Processing when fetching fresh data
Core Web Vital Affected
LCP
This pattern affects server response time and reduces client wait by serving cached content quickly.
Optimization Tips
1Cache repeated responses to reduce server processing time.
2Serve cached data before hitting the database to speed up response.
3Monitor cache hit rates to ensure performance gains.
Performance Quiz - 3 Questions
Test your performance knowledge
What is the main performance benefit of using cache middleware in Express?
AFaster response times by avoiding repeated database queries
BImproves CSS rendering speed
CReduces JavaScript bundle size
DPrevents layout shifts on the page
DevTools: Network
How to check: Open DevTools Network tab, reload the page, and observe response times for repeated requests.
What to look for: Look for significantly faster response times on repeated requests indicating cache hits.