कैश क्या है? कैश किया गया डेटा चीजों को कैसे तेज करता है?
एक आधुनिक सीपीयू नैनोसेकंड से भी कम समय में अपने निकटतम कैश से कोई मान निकाल सकता है। उसी मान को मुख्य मेमोरी तक पहुँचाने में लगभग सौ गुना अधिक समय लगता है। इसलिए चिप स्वाभाविक प्रक्रिया अपनाती है: यह उस डेटा की एक प्रति अपने पास ही रखती है जिसकी उसे आवश्यकता पड़ने की संभावना होती है। यह प्रति कैश कहलाती है, और यह प्रक्रिया कंप्यूटिंग के हर स्तर पर दोहराई जाती है, आपके प्रोसेसर में मौजूद सिलिकॉन से लेकर इस पेज को डिलीवर करने वाले सर्वर तक। यह गाइड बताती है कि कैश क्या है, कैशिंग कैसे काम करती है, यह कहाँ-कहाँ मौजूद होती है, और क्या आपको इसे खाली करने की आवश्यकता है।
कैश की परिभाषा: कैश वास्तव में क्या है
कैश एक अस्थायी स्टोरेज है। यह छोटा, तेज़ और जहाँ भी इसकी आवश्यकता होती है, उसके यथासंभव निकट स्थित होता है। इसमें सिस्टम द्वारा भविष्य में उपयोग किए जाने वाले डेटा की प्रतियाँ रखी जाती हैं, ताकि आवश्यकता पड़ने पर सिस्टम धीमी या खर्चीली प्रक्रिया को दोहराने के बजाय उसी प्रति का उपयोग कर सके। इस पृष्ठ को दूसरी बार खोलने पर इसका एक बड़ा हिस्सा सर्वर से नहीं, बल्कि आपके कंप्यूटर पर पहले से मौजूद प्रति से लोड होगा।
यहां सबसे अहम शब्द है 'अस्थायी'। कैश्ड डेटा कभी भी मूल डेटा नहीं होता। यह एक डुप्लिकेट होता है, जिसे केवल गति बढ़ाने के लिए रखा जाता है, और आप इसे जब चाहें हटा सकते हैं। इसे मिटाने से कोई भी महत्वपूर्ण डेटा नष्ट नहीं होता। सिस्टम बस असली स्रोत पर वापस जाता है और कॉपी को फिर से बना लेता है। आपका बैंक बैलेंस कैश में नहीं रहता; हालांकि, उस बैलेंस को दिखाने वाले वेबपेज की कॉपी कैश में हो सकती है। सही स्रोत और उसकी हटाई जा सकने वाली कॉपी के बीच का यह अंतर ही कैशिंग को हर चीज में सुरक्षित और लागू करने योग्य बनाता है। सबसे खराब स्थिति में, अगर कॉपी गायब हो या गलत हो, तो सिस्टम को कोई फर्क नहीं पड़ता, वह स्रोत से डेटा लेता है और काम जारी रखता है।
कैश कैसे काम करता है: कैश हिट, मिस और इविक्शन
हर जगह, हर कैश एक ही सवाल पर चलता है: क्या मेरे पास इसकी एक कॉपी पहले से मौजूद है? हाँ, तो तुरंत जवाब मिलेगा। कॉपी उपलब्ध कराएँ, धीमे काम को छोड़ें, काम हो गया। नहीं, तो धीमा काम एक बार करें: स्रोत से डेटा लाएँ, परिणाम वापस दें, और एक कॉपी अपने पास रखें ताकि भविष्य के अनुरोध जल्दी पूरे हो सकें। यही पूरी प्रक्रिया है। बाकी सब दो पेचीदा मामलों से जुड़ा हिसाब-किताब है: जगह कम होने पर क्या हटाना है, और पुरानी कॉपी वापस देने से कैसे बचना है।
कैश हिट बनाम कैश मिस
मिल गया? यह कैश हिट है। नहीं मिला? कैश मिस है, जिससे धीमे बैकअप स्टोर पर जाना पड़ता है। हिट में समाप्त होने वाले अनुरोधों का प्रतिशत हिट अनुपात कहलाता है, और यह वह संख्या है जिस पर इंजीनियर वास्तव में नज़र रखते हैं। छवियों और स्टाइलशीट जैसी स्थिर फ़ाइलों को सर्व करने वाले कंटेंट डिलीवरी नेटवर्क का लक्ष्य 95 से 99 प्रतिशत हिट अनुपात होता है। यदि यह लक्ष्य प्राप्त हो जाता है, तो लगभग प्रत्येक विज़िटर को आस-पास की एक प्रति मिल जाती है, जबकि मूल सर्वर लगभग निष्क्रिय रहता है। कम हिट अनुपात का मतलब है कि कैश का उपयोग केवल दिखावे के लिए किया जा रहा है।
जब कैश भर जाए: निष्कासन नीतियां
कैश जानबूझकर छोटा रखा जाता है। तेज़ स्टोरेज के लिए पैसे लगते हैं, इसलिए हर चीज़ के लिए जगह नहीं होती, और एक बार कैश भर जाने पर, कुछ न कुछ हटाना ही पड़ता है। नुकसान का फैसला करने वाला नियम ही एविक्शन पॉलिसी कहलाता है। आमतौर पर डिफ़ॉल्ट नियम है 'लीस्ट रिसेंटली यूज्ड' (LRU): जो भी डेटा सबसे लंबे समय से बिना इस्तेमाल के पड़ा है, उसे हटा दें, यह सोचकर कि जिसे आपने हाल ही में अनदेखा किया है, उसे आप आगे भी अनदेखा करते रहेंगे। अन्य नीतियां अलग तरह से गिनती करती हैं। 'लीस्ट फ्रीक्वेंटली यूज्ड' (LFU) यह ट्रैक करता है कि प्रत्येक आइटम को कितनी बार एक्सेस किया गया है। 'फर्स्ट इन फर्स्ट आउट' (FIFO) सबसे पुरानी एंट्री को हटा देता है। वही जुआ, अलग-अलग रूप में। हर पॉलिसी असल में एक अनुमान है कि आपको किस कॉपी की सबसे कम कमी महसूस होगी।
कॉपी को अपडेट रखना: टीटीएल और लेखन नीतियां
कॉपी तभी तक मान्य होती है जब तक वह मूल स्रोत से मेल खाती है। इसलिए अधिकांश कैश प्रत्येक प्रविष्टि पर एक समय-सीमा (TTL) अंकित करते हैं: एक उलटी गिनती, जिसके बाद कॉपी समाप्त मानी जाती है और उसे दोबारा जांचना या प्राप्त करना पड़ता है। वेब पर, Cache-Control हेडर उस समय-सीमा को निर्धारित करता है। नियम पुस्तिका RFC 9111 है, और इसका max-age निर्देश किसी प्रतिक्रिया को एक वर्ष तक, या सटीक आंकड़ा जानने के लिए 31,536,000 सेकंड तक कैश में रखने की अनुमति देता है। लेखन इस समस्या का दूसरा पहलू है। राइट-थ्रू कैश और मूल स्रोत में एक ही समय में सहेजता है, जो सुरक्षित है लेकिन धीमा है। राइट-बैक कैश में तुरंत और मूल स्रोत में बाद में सहेजता है, जो तेज़ है लेकिन इसमें कुछ समय के लिए दोनों में असहमति हो सकती है। अपनी सुविधा के अनुसार निर्णय लें।

कैश के प्रकार: सीपीयू से लेकर कंटेंट डिलीवरी नेटवर्क तक
यही वह पहलू है जिसे अधिकांश स्पष्टीकरण नज़रअंदाज़ कर देते हैं। ब्राउज़र कैश और L1 CPU कैश बिल्कुल अलग-अलग चीज़ें लगती हैं — लेकिन ये एक ही विचार को अलग-अलग दूरी पर रखकर प्रस्तुत करती हैं। प्रत्येक परत धीमी गति से पहुँचने वाले डेटा की प्रतियाँ उस चीज़ के करीब रखती है जिसे इसकी आवश्यकता होती है। इस क्रम में अंदर से बाहर की ओर चलें, तो यह पैटर्न पूरी प्रक्रिया में दोहराया जाता है।
मेमोरी कैशिंग: सीपीयू कैश स्तर L1, L2, L3
सबसे तेज़ कैशिंग प्रोसेसर पर ही होती है। आधुनिक CPU में SRAM से निर्मित तीन स्तर की कैशिंग होती है, जो मुख्य मेमोरी के लिए उपयोग की जाने वाली DRAM की तुलना में कहीं अधिक तेज़ और प्रति बाइट कहीं अधिक महंगी मेमोरी है। L1 बहुत छोटी और लगभग तुरंत प्रतिक्रिया देने वाली होती है, प्रत्येक कोर में कुछ दर्जन किलोबाइट डेटा लगभग एक नैनोसेकंड में संसाधित हो जाता है। L2 बड़ी और थोड़ी धीमी होती है। L3 और भी बड़ी होती है और कोर में साझा की जाती है; Intel के Core i9-14900K में 36 MB L3 होती है, और AMD के Ryzen 9 7950X3D में L3 128 MB तक होती है। यह सब एक कमी को पूरा करने के लिए है: L1 से डेटा प्राप्त करने में एक नैनोसेकंड से भी कम समय लगता है, जबकि DDR5 मुख्य मेमोरी में लगभग 70 नैनोसेकंड लगते हैं, जो लगभग सौ गुना अंतर है। कैशिंग इसलिए काम करती है क्योंकि प्रोग्राम एक ही डेटा और उसके आस-पास मौजूद डेटा का पुन: उपयोग करते हैं, इस आदत को लोकैलिटी ऑफ़ रेफरेंस कहा जाता है।
| परत | सामान्य आकार | सामान्य पहुँच समय | इसमें क्या है |
|---|---|---|---|
| L1 CPU कैश | प्रति कोर 32-80 केबी | ~0.7-1 एनएस | अगले निर्देश और मान |
| L2 CPU कैश | प्रति कोर 0.5-2 एमबी | ~3-4 एनएस | हाल ही में कोर के पास उपयोग किए गए डेटा |
| L3 सीपीयू कैश | 16-128 एमबी साझा किया गया | ~10-20 एनएस | कोर के बीच साझा किया गया डेटा |
| मुख्य मेमोरी (रैम) | 8-64 जीबी | ~70-100 एनएस | चल रहे प्रोग्राम और सक्रिय डेटा |
| एसएसडी स्टोरेज | 256 जीबी-4 टीबी | ~50-100 माइक्रोसेकंड | फ़ाइलें और ऑपरेटिंग सिस्टम |
| सीडीएन एज नोड | भिन्न | नेटवर्क पर लगभग 20 मिलीसेकंड का समय लगता है। | आगंतुक के पास वेब प्रतियां |
| उत्पत्ति सर्वर | भिन्न | ~100-200 एमएस क्रॉस-रीजन | सत्य का स्रोत |
डिस्क, ऑपरेटिंग सिस्टम और एप्लिकेशन कैश
हार्डवेयर के ऊपर, सॉफ़्टवेयर अपना खुद का कैश रखता है। आपका ऑपरेटिंग सिस्टम बार-बार एक्सेस किए जाने वाले डेटा, जैसे कि हाल ही में पढ़ी गई फ़ाइलें, को अतिरिक्त रैम में रखता है ताकि उन्हें तुरंत खोला जा सके। डेटाबेस सामान्य क्वेरी के परिणामों को कैश करते हैं। एप्लिकेशन एक समर्पित इन-मेमोरी लेयर जोड़ते हैं, जो अक्सर Redis या Memcached होती है, जो ऐप और उसके डेटाबेस के बीच स्थित होती है और माइक्रोसेकंड में बार-बार आने वाले अनुरोधों का जवाब देती है। इसका काम CPU के समान है: जो डेटा सबसे ज़्यादा इस्तेमाल हो रहा है उसे तेज़ स्टोरेज में रखें ताकि आपको धीमेपन का खामियाजा दोबारा न भुगतना पड़े।
सर्वर-साइड कैशिंग और सीडीएन
सबसे बाहरी परत पूरे इंटरनेट पर फैली हुई है। जब कोई वेब सर्वर तैयार पेजों को कैश कर लेता है, तो उसे हर विज़िटर के लिए उन्हें दोबारा बनाने की ज़रूरत नहीं पड़ती। कंटेंट डिलीवरी नेटवर्क (CDN) इससे भी आगे जाता है, और उन एसेट्स को दुनिया भर में फैले एज सर्वरों पर कॉपी कर देता है, ताकि हर रिक्वेस्ट का जवाब यूज़र के नज़दीक मौजूद मशीन से दिया जा सके। CDN एज सर्वर से रिक्वेस्ट का जवाब लगभग 20 मिलीसेकंड में मिल जाता है, जबकि महाद्वीपों को पार करके ओरिजिन तक पहुंचने में 100 से 200 मिलीसेकंड का समय लगता है। यह मॉडल अब वेब पर हावी है: 2024 तक, लगभग 75 प्रतिशत थर्ड-पार्टी कंटेंट CDN के माध्यम से सर्व किया जा रहा था।
ब्राउज़र कैश: वह सब कुछ जो आपका वेब ब्राउज़र स्टोर करता है
ब्राउज़र कैश वह चीज़ है जिससे ज़्यादातर लोग परिचित होते हैं। जब आप कोई वेबसाइट खोलते हैं, तो आपका वेब ब्राउज़र चुपचाप उसके कुछ हिस्से आपके डिवाइस पर सेव कर लेता है: HTML, स्टाइलशीट, स्क्रिप्ट, इमेज, फ़ॉन्ट। बाद में जब आप वापस आते हैं, तो यह उन फ़ाइलों को दोबारा डाउनलोड करने के बजाय सीधे आपकी डिस्क से पढ़ता है, यही कारण है कि किसी वेबपेज पर दूसरी बार जाने पर वह पहली बार की तुलना में तेज़ी से खुलता है। वेबसाइट का लोगो? एक बार डाउनलोड होता है और हर उस पेज पर इस्तेमाल होता है जहाँ वह दिखाई देता है।
मुझे सबसे ज्यादा हैरानी इस बात की है कि उस स्पीड का अधिकांश हिस्सा बेकार पड़ा रहता है। 2021 तक, डेस्कटॉप वेब रिस्पॉन्स का लगभग 90.4 प्रतिशत कैशे करने योग्य था , फिर भी 52 प्रतिशत साइटें स्टैंडर्ड ब्राउज़र कैशिंग ऑडिट में 25वें परसेंटाइल से नीचे रहीं। फायदा तो बस सामने है, मुफ्त में, और वेब का अधिकांश हिस्सा इसे अनदेखा कर देता है। कैशिंग को सही तरीके से सेट करें और इसका लाभ तुरंत दिखाई देगा। बार-बार आने वाली वेबसाइटें तेजी से लोड होती हैं, मोबाइल डेटा का उपयोग कम होता है, और ओरिजिन सर्वर को बार-बार एक ही तरह के रिक्वेस्ट नहीं मिलते।

कैशिंग के लाभ: यह चीजों को तेज़ क्यों बनाता है
कैशिंग एक तरह का समझौता है। इसमें आप थोड़ी मेमोरी खर्च करते हैं और थोड़ी पुरानी जानकारी उपलब्ध होने का जोखिम उठाते हैं, लेकिन बदले में आपको गति, कम लोड और कम लागत मिलती है। इन्हीं तीन फायदों के कारण कैशिंग का उपयोग सिर्फ एक स्तर पर नहीं बल्कि हर स्तर पर होता है।
सबसे बड़ा फायदा गति है: पास के स्टोरेज से कॉपी उपलब्ध कराना, परिणाम को दोबारा कंप्यूट करने या उसे नेटवर्क पर भेजने से कहीं बेहतर है। दूसरा फायदा सोर्स पर लोड कम होना है। कैश द्वारा उत्तर दिया गया हर अनुरोध एक ऐसा अनुरोध होता है जिसे डेटाबेस या ओरिजिन सर्वर को कभी संभालना नहीं पड़ता, जिससे ट्रैफिक बढ़ने पर भी सिस्टम सुचारू रूप से चलता रहता है। तीसरा फायदा सीधा पैसा है: एज नोड से कैश किए गए बाइट्स उपलब्ध कराना, उन्हें नए सिरे से जेनरेट करके सेंट्रल सर्वर से भेजने की तुलना में सस्ता है, और जब आपको बार-बार डेटा एक्सेस करने की आवश्यकता होती है, तो यह बचत तेजी से बढ़ती जाती है।
एप्लिकेशन के प्रदर्शन पर उपयोगकर्ता को मिलने वाला सीधा और मापने योग्य लाभ स्पष्ट है। मोबाइल साइटों पर Google के 2018 के शोध में पाया गया कि लोड समय को एक सेकंड कम करने से कन्वर्ज़न में 27 प्रतिशत तक की वृद्धि हुई, जबकि 2012 के एबरडीन ग्रुप के एक व्यापक रूप से चर्चित अध्ययन में एक सेकंड की देरी के कारण कन्वर्ज़न में 7 प्रतिशत की गिरावट दर्ज की गई। तेज़ पेज लोगों को वेबसाइट पर बनाए रखते हैं। कैशिंग इसे हासिल करने के सबसे सस्ते तरीकों में से एक है।
| कैश प्रकार | जहां यह रहता है | यह क्या संग्रहीत करता है | इसका प्रबंधन कौन करता है? | सामान्य जीवनकाल |
|---|---|---|---|---|
| सीपीयू कैश (L1/L2/L3) | प्रोसेसर पर | महत्वपूर्ण निर्देश और डेटा | हार्डवेयर, स्वचालित रूप से | माइक्रोसेकंड |
| ब्राउज़र कैश | आपका डिवाइस | एचटीएमएल, सीएसएस, जेएस, छवियां, फ़ॉन्ट | आपका वेब ब्राउज़र | घंटों से लेकर एक वर्ष तक |
| एप्लिकेशन कैश | ऐप सर्वर मेमोरी | क्वेरी परिणाम, सत्र | डेवलपर्स (Redis, Memcached) | सेकंड से घंटों तक |
| सर्वर / सीडीएन कैश | दुनिया भर में एज सर्वर | पृष्ठ, मीडिया, एपीआई उत्तर | साइट स्वामी और सीडीएन | प्रति कैश-कंट्रोल टीटीएल |
| DNS कैश | ऑपरेटिंग सिस्टम, राउटर, रिजॉल्वर | डोमेन से आईपी लुकअप | DNS रिजॉल्वर | 5 मिनट से 24 घंटे तक |
क्या आपको कैश्ड डेटा साफ़ करना चाहिए, और कब?
लोग कैश साफ़ करने को रखरखाव सूची में एक अनिवार्य कार्य की तरह मानते हैं। इस सूची को छोड़ दें। यह वास्तव में एक समस्या निवारण उपकरण है, इससे अधिक कुछ नहीं। अधिकांश दिनों में, कैश किए गए डेटा को वहीं रहने दें, क्योंकि यह चुपचाप आपके द्वारा दोबारा देखी जाने वाली प्रत्येक साइट को तेज़ी से लोड करने में मदद करता है।
तो फिर इसे साफ़ करना कब फ़ायदेमंद होता है? सच कहूँ तो, सिर्फ़ तीन स्थितियों में। कोई साइट काम करना बंद कर देती है या अपडेट के बाद पुरानी कैश्ड कॉपी दिखाती रहती है, और ब्राउज़र कैश में मौजूद वह पुरानी कॉपी ही लगभग हमेशा समस्या होती है; कैश साफ़ करने से नया डाउनलोड हो जाता है। आप किसी साझा या सार्वजनिक कंप्यूटर पर थे और आप अपने द्वारा देखी गई चीज़ों का रिकॉर्ड मिटाना चाहते हैं। या फिर आपके फ़ोन की स्टोरेज क्षमता बहुत कम हो गई है और आपको जगह चाहिए, क्योंकि ब्राउज़र कैश अपने आप ही कुछ गीगाबाइट तक बढ़ सकता है। इन स्थितियों के अलावा, कैश साफ़ करने से कोई फ़ायदा नहीं होता। ब्राउज़र द्वारा कॉपी दोबारा बनाने के दौरान अगली बार हर साइट पर जाने पर आपकी साइट धीमी हो जाती है, और कुछ ब्राउज़र इस प्रक्रिया में आपको लॉग आउट भी कर देते हैं। लोग अक्सर यह गलत समझते हैं कि कैश साफ़ करने से आपकी कुकीज़ या सेव किए गए पासवर्ड डिलीट नहीं होते। वे एक अलग जगह पर स्टोर होते हैं और कैश साफ़ होने के बाद भी बने रहते हैं, जब तक कि आप उन्हें भी डिलीट न कर दें।
| ब्राउज़र | कैश कहाँ साफ़ करें |
|---|---|
| क्रोम | सेटिंग्स, गोपनीयता और सुरक्षा, ब्राउज़िंग डेटा हटाएं, कैश्ड छवियां और फ़ाइलें |
| फ़ायरफ़ॉक्स | सेटिंग्स, गोपनीयता और सुरक्षा, कुकीज़ और साइट डेटा, डेटा साफ़ करें |
| सफारी | सेटिंग्स, सफारी, इतिहास साफ़ करें और वेबसाइट डेटा |
| किनारा | सेटिंग्स, गोपनीयता, चुनें कि क्या साफ़ करना है |
कैश बनाम कुकीज़ बनाम बफर: भ्रम दूर करना
तीन शब्द, जिन्हें अक्सर लोग एक-दूसरे से मिला देते हैं, डेटा को स्टोर करने से संबंधित हैं। प्रत्येक का काम अलग-अलग है। कैश में सामग्री की प्रतियां रखी जाती हैं ताकि अगली बार आप उसे तेज़ी से एक्सेस कर सकें। कुकी एक छोटा सा नोट होता है जिसे कोई साइट आपको याद रखने के लिए छोड़ती है: लॉगिन सेशन, भाषा सेटिंग, सेव की गई प्राथमिकता। इसमें पहचान होती है, सामग्री नहीं। बफर इनसे बिल्कुल अलग होता है। इसमें ट्रांज़िट में डेटा होता है, जैसे कि कुछ सेकंड का वीडियो जो स्ट्रीम आपके देखने से पहले लोड करती है। इन्हें समझने का सबसे आसान तरीका: कैश किया गया डेटा दोबारा इस्तेमाल के लिए रखा जाता है, कुकी आपको याद रखती है, और बफर इस्तेमाल होते ही खाली हो जाता है।
कैश और कैशिंग के बारे में याद रखने योग्य बातें
जब आप कैश को केवल "धीमी गति वाली चीज़ की एक प्रति को ज़रूरत के पास रखना" के रूप में देखने लगते हैं, तो यह हार्डवेयर सुविधा की बजाय एक ऐसी आदत लगने लगती है जो पूरी कंप्यूटिंग प्रक्रिया में व्याप्त है, चाहे वह CPU पर 0.7 नैनोसेकंड की फ़ेच स्पीड हो या आपके शहर के पास स्थित एज सर्वर पर इस पेज की एक प्रति का होना। व्यावहारिक सबक वह है जो वेब ने अभी तक नहीं सीखा है: इस गति का अधिकांश हिस्सा मुफ़्त है और फिर भी अधिकांश साइटें इसे नज़रअंदाज़ कर देती हैं। अगली बार जब कोई पेज पलक झपकते ही खुल जाए, तो आपको ठीक-ठीक पता होगा कि किस प्रति ने आपकी यात्रा बचाई।