# कैशिंग रणनीतियां — वेब प्रदर्शन अनुकूलन

Source: https://www.skillbyai.com/hi/web-performance/web-perf-06

> दोहराए जाने वाले दौरों पर HTTP कैशिंग, सर्विस वर्कर्स और कैश हेडर का उपयोग करके सामग्री तेजी से परोसें।

## HTTP कैश हेडर

Static assets के लिए `Cache-Control: public, max-age=31536000` इस्तेमाल करें। HTML के लिए छोटा TTL (जैसे 1 hour) रखें। Cache validation के लिए `ETag` या `Last-Modified` जोड़ें। Example: `Cache-Control: max-age=3600, must-revalidate`।

## CDN और एज कैशिंग

Static assets को अलग-अलग जगहों पर फैले servers पर रखें। CDN सबसे नज़दीकी location से serve करके latency घटाता है। Deployment के बाद पुराना content तुरंत हटाने के लिए cache purging इस्तेमाल करें।

## सर्विस वर्कर्स के साथ क्लाइंट-साइड कैशिंग

Network requests को intercept करके cached versions offline serve करें। Cache strategies: Cache First (static के लिए), Network First (dynamic के लिए), Stale-While-Revalidate (पुराना दिखाओ, background में update करो)।

## कैश अमान्यता रणनीतियां

Cache busting के लिए filenames में content hash रखें (app.a1b2c3d.js)। Deploy पर तुरंत invalidate करें। Cache hit rate monitor करें (target >90%)। Aggressive caching और freshness के बीच संतुलन रखें।

त्वरित जाँच

**Quiz:** स्टेटिक संपत्ति के लिए अच्छा कैश TTL क्या है?

- [ ] 1 घंटा
- [ ] कोई कैशिंग नहीं
- [x] 1 साल (31536000 सेकंड)
- [ ] 1 मिनट

*Answer:* 1 साल (31536000 सेकंड). Fingerprinted static assets एक साल तक cache हो सकती हैं क्योंकि बदली file का URL नया होता है।
