कैश (कंप्यूटिंग)

कम्प्यूटिंग में, एक कैश एक हार्डवेयर या सॉफ़्टवेयर घटक है जो डेटा संग्रहीत करता है ताकि उस डेटा के भविष्य के अनुरोधों को तेज़ी से पूरा किया जा सके; कैश में संग्रहीत डेटा पहले की गणना या कहीं संग्रहीत डेटा की प्रतिलिपि का परिणाम हो सकता है। कैश हिट तब होता है जब अनुरोधित डेटा कैश में पाया जा सकता है, जबकि कैश मिस तब होता है जब यह नहीं हो सकता। कैश हिट को कैश से डेटा पढ़कर परोसा जाता है, जो किसी परिणाम की पुनर्गणना करने या धीमे डेटा स्टोर से पढ़ने की तुलना में तेज़ होता है; इस प्रकार, कैश से जितने अधिक अनुरोध किए जा सकते हैं, सिस्टम उतनी ही तेजी से कार्य करता है। लागत प्रभावी होने और डेटा के कुशल उपयोग को सक्षम करने के लिए, कैश अपेक्षाकृत छोटा होना चाहिए। फिर भी, कैश ने कंप्यूटिंग के कई क्षेत्रों में खुद को साबित किया है, क्योंकि विशिष्ट अनुप्रयोग प्रक्रिया सामग्री संदर्भ के उच्च स्तर के स्थानीयता के साथ डेटा का उपयोग करता है। इस तरह के एक्सेस पैटर्न अस्थायी इलाके को प्रदर्शित करते हैं, जहां डेटा का अनुरोध किया गया है जिसे हाल ही में अनुरोध किया गया है, और स्मृति पता लोकेलिटी, जहां डेटा का अनुरोध किया गया है जो पहले से ही अनुरोध किए गए डेटा के पास भौतिक रूप से संग्रहीत है।

प्रेरणा
आकार और गति के बीच एक अंतर्निहित व्यापार-बंद है (यह देखते हुए कि एक बड़ा संसाधन अधिक भौतिक दूरी का तात्पर्य है) लेकिन महंगी, प्रीमियम प्रौद्योगिकियों (जैसे स्टेटिक रैंडम-एक्सेस मेमोरी) बनाम सस्ती, आसानी से बड़े पैमाने पर उत्पादित वस्तुओं (जैसे) के बीच एक व्यापार-बंद भी है। DRAM या हार्ड डिस्क के रूप में)।

कैश द्वारा प्रदान किया गया डेटा बफ़र विलंबता (इंजीनियरिंग) और THROUGHPUT (बैंडविड्थ (कंप्यूटिंग)) में से एक या दोनों को लाभ देता है:

विलंबता
एक बड़ा संसाधन पहुँच के लिए एक महत्वपूर्ण विलंबता उत्पन्न करता है – उदा. एक आधुनिक 4 GHz प्रोसेसर को DRAM तक पहुँचने में सैकड़ों घड़ी चक्र लग सकते हैं। बड़े हिस्से में पढ़ने से यह कम हो जाता है, इस उम्मीद में कि बाद के पठन आस-पास के स्थानों से होंगे। भविष्यवाणी या स्पष्ट कैश प्रीफेचिंग यह भी अनुमान लगा सकता है कि भविष्य में रीड कहां से आएंगे और समय से पहले अनुरोध कर सकते हैं; यदि सही ढंग से किया जाता है तो विलंबता पूरी तरह से समाप्त हो जाती है।

थ्रूपुट
एक कैश का उपयोग भी अंतर्निहित संसाधन से उच्च थ्रूपुट के लिए अनुमति देता है, कई ठीक अनाज हस्तांतरण को बड़े, अधिक कुशल अनुरोधों में जोड़कर। डायनेमिक रैंडम-एक्सेस मेमोरी सर्किट के मामले में, यह एक व्यापक डेटा बस के द्वारा परोसा जा सकता है। उदाहरण के लिए, 32-बिट पता स्थान में बाइट्स तक पहुँचने वाले प्रोग्राम पर विचार करें, लेकिन 128-बिट ऑफ-चिप डेटा बस द्वारा सेवा दी जा रही है; अलग-अलग अनकैश्ड बाइट एक्सेस कुल बैंडविड्थ के केवल 1/16 वें हिस्से का उपयोग करने की अनुमति देगा, और डेटा मूवमेंट का 80% डेटा के बजाय मेमोरी एड्रेस होगा। बड़ी मात्रा में पढ़ने से पता सूचना प्रसारित करने के लिए आवश्यक बैंडविड्थ का अंश कम हो जाता है।

ऑपरेशन
हार्डवेयर फिर से उपयोग किए जाने वाले डेटा के अस्थायी भंडारण के लिए मेमोरी के ब्लॉक (डेटा स्टोरेज) के रूप में कैश को लागू करता है। सेंट्रल प्रोसेसिंग यूनिट (सीपीयू), ठोस राज्य ड्राइव (एसएसडी) और हार्ड डिस्क ड्राइव (एचडीडी) में अक्सर हार्डवेयर-आधारित कैश शामिल होता है, जबकि वेब ब्राउज़र और वेब सर्वर आमतौर पर सॉफ्टवेयर कैशिंग पर भरोसा करते हैं।

एक कैश प्रविष्टियों के पूल से बना है। प्रत्येक प्रविष्टि में संबद्ध डेटा होता है, जो किसी बैकिंग स्टोर में उसी डेटा की एक प्रति होती है। प्रत्येक प्रविष्टि में एक टैग भी होता है, जो बैकिंग स्टोर में उस डेटा की पहचान को निर्दिष्ट करता है जिसकी प्रविष्टि एक प्रति है। टैगिंग एक साथ कैश-उन्मुख एल्गोरिदम को अंतर रिले हस्तक्षेप के बिना बहुस्तरीय फैशन में कार्य करने की अनुमति देता है।

जब कैश क्लाइंट (एक सीपीयू, वेब ब्राउज़र, ऑपरेटिंग सिस्टम) को बैकिंग स्टोर में मौजूद अनुमानित डेटा तक पहुंचने की आवश्यकता होती है, तो यह पहले कैश की जांच करता है। यदि वांछित डेटा से मेल खाने वाले टैग के साथ कोई प्रविष्टि मिल सकती है, तो इसके बजाय प्रविष्टि में मौजूद डेटा का उपयोग किया जाता है। इस स्थिति को कैश हिट के रूप में जाना जाता है। उदाहरण के लिए, एक वेब ब्राउज़र प्रोग्राम डिस्क पर अपने स्थानीय कैश को यह देखने के लिए देख सकता है कि क्या उसके पास किसी विशेष URL पर वेब पेज की सामग्री की स्थानीय प्रति है। इस उदाहरण में, URL टैग है, और वेब पेज की सामग्री डेटा है। कैशे हिट में परिणत होने वाले पहूंच समय प्रतिशत कैश के 'हिट रेट' या 'हिट अनुपात' के रूप में जाना जाता है।

वैकल्पिक स्थिति, जब कैश की जाँच की जाती है और वांछित टैग के साथ कोई प्रविष्टि नहीं पाई जाती है, को कैश मिस के रूप में जाना जाता है। इसके लिए बैकिंग स्टोर से डेटा की अधिक महंगी पहुंच की आवश्यकता होती है। एक बार अनुरोधित डेटा पुनर्प्राप्त हो जाने के बाद, इसे आम तौर पर कैश में कॉपी किया जाता है, जो अगली पहुंच के लिए तैयार होता है।

कैश मिस के दौरान, नए पुनर्प्राप्त डेटा के लिए जगह बनाने के लिए कुछ अन्य पहले से मौजूद कैश प्रविष्टि को हटा दिया जाता है। बदलने के लिए प्रविष्टि का चयन करने के लिए उपयोग किए जाने वाले ह्यूरिस्टिक (कंप्यूटर विज्ञान) को कैश एल्गोरिथ्म के रूप में जाना जाता है। एक लोकप्रिय प्रतिस्थापन नीति, कम से कम हाल ही में उपयोग की गई (LRU), सबसे पुरानी प्रविष्टि को बदल देती है, वह प्रविष्टि जिसे किसी अन्य प्रविष्टि की तुलना में हाल ही में एक्सेस किया गया था (कैश एल्गोरिथम देखें)। अधिक कुशल कैशिंग एल्गोरिदम संग्रहीत सामग्री के आकार के साथ-साथ कैश और बैकिंग स्टोर दोनों के लिए एक्सेस-टाइम और थ्रूपुट के विरुद्ध उपयोग-हिट आवृत्ति की गणना करता है। यह बड़ी मात्रा में डेटा, लंबी विलंबता और धीमे थ्रुपुट के लिए अच्छी तरह से काम करता है, जैसे कि हार्ड ड्राइव और नेटवर्क के साथ अनुभव किया जाता है, लेकिन सीपीयू कैश के भीतर उपयोग के लिए कुशल नहीं है।

लेखन नीतियां
जब कोई सिस्टम कैश करने के लिए डेटा लिखता है, तो उसे किसी बिंदु पर उस डेटा को बैकिंग स्टोर पर भी लिखना चाहिए। इस लेखन के समय को लेखन नीति के रूप में जाना जाता है। दो बुनियादी लेखन दृष्टिकोण हैं:
 * राइट-थ्रू: राइट को कैश और बैकिंग स्टोर दोनों के लिए सिंक्रोनाइज़ किया जाता है।
 * राइट-बैक: प्रारंभ में, लेखन केवल कैश के लिए किया जाता है। बैकिंग स्टोर को लिखना तब तक के लिए स्थगित कर दिया जाता है जब तक कि संशोधित सामग्री को दूसरे कैश ब्लॉक द्वारा प्रतिस्थापित नहीं किया जाता है।

राइट-बैक कैश को लागू करना अधिक जटिल है, क्योंकि इसे ट्रैक करने की आवश्यकता है कि इसके कौन से स्थान लिखे गए हैं, और बाद में बैकिंग स्टोर पर लिखने के लिए उन्हें गंदे के रूप में चिह्नित करें। इन स्थानों में डेटा बैकिंग स्टोर में केवल तभी लिखा जाता है जब उन्हें कैश से निकाला जाता है, एक प्रभाव जिसे आलसी लेखन कहा जाता है। इस कारण से, राइट-बैक कैश में एक रीड मिस (जिसके लिए एक ब्लॉक को दूसरे द्वारा प्रतिस्थापित करने की आवश्यकता होती है) को अक्सर सेवा के लिए दो मेमोरी एक्सेस की आवश्यकता होती है: एक कैश से बदले गए डेटा को स्टोर में वापस लिखने के लिए, और फिर एक आवश्यक डेटा पुनर्प्राप्त करने के लिए।

अन्य नीतियां भी डेटा राइट-बैक को ट्रिगर कर सकती हैं। क्लाइंट कैश में डेटा में कई बदलाव कर सकता है, और फिर कैश को डेटा वापस लिखने के लिए स्पष्ट रूप से सूचित कर सकता है।

चूंकि लिखने के संचालन पर अनुरोधकर्ता को कोई डेटा वापस नहीं किया जाता है, इसलिए लिखने की चूक पर निर्णय लेने की आवश्यकता होती है, डेटा को कैश में लोड किया जाएगा या नहीं। यह इन दो दृष्टिकोणों द्वारा परिभाषित किया गया है:


 * राइट एलोकेशन (जिसे राइट ऑन फ़ेच भी कहा जाता है): मिस्ड-राइट लोकेशन पर डेटा को कैश में लोड किया जाता है, जिसके बाद राइट-हिट ऑपरेशन होता है। इस तरीके से राइट मिसेज रीड मिसेस के समान हैं।
 * नो-राइट एलोकेशन (जिसे राइट-नो-एलोकेट या राइट अराउंड भी कहा जाता है): मिस्ड-राइट लोकेशन पर डेटा कैश में लोड नहीं होता है, और सीधे बैकिंग स्टोर पर लिखा जाता है। इस दृष्टिकोण में, केवल रीड मिसेस पर डेटा को कैश में लोड किया जाता है।

राइट-थ्रू और राइट-बैक दोनों नीतियां इनमें से किसी भी राइट-मिस नीतियों का उपयोग कर सकती हैं, लेकिन आमतौर पर उन्हें इस तरह से जोड़ा जाता है:
 * एक राइट-बैक कैश एक ही स्थान पर बाद में लिखने (या यहां तक ​​​​कि पढ़ने) की उम्मीद करते हुए लिखने के आवंटन का उपयोग करता है, जिसे अब कैश किया गया है।
 * राइट-थ्रू कैश नो-राइट आवंटन का उपयोग करता है। यहां, बाद के लेखन का कोई फायदा नहीं है, क्योंकि उन्हें अभी भी बैकिंग स्टोर पर सीधे लिखे जाने की आवश्यकता है।

कैश के अलावा अन्य निकाय बैकिंग स्टोर में डेटा को बदल सकते हैं, जिस स्थिति में कैश में कॉपी पुरानी या पुरानी हो सकती है। वैकल्पिक रूप से, जब क्लाइंट कैश में डेटा अपडेट करता है, तो अन्य कैश में उस डेटा की कॉपी पुरानी हो जाएगी। कैश प्रबंधकों के बीच संचार प्रोटोकॉल जो डेटा को सुसंगत रखते हैं, उन्हें सुसंगतता प्रोटोकॉल के रूप में जाना जाता है।

प्रीफ़ेच
कैश रीड मिस पर, मांग पेजिंग पॉलिसी वाले कैश बैकिंग स्टोर से न्यूनतम राशि पढ़ते हैं। उदाहरण के लिए, डिमांड-पेजिंग वर्चुअल मेमोरी डिस्क से रैम में डिस्क कैश में वर्चुअल मेमोरी (अक्सर 4 kBytes) का एक पेज पढ़ती है। उदाहरण के लिए, एक सामान्य सीपीयू DRAM से L2 कैश में 128 बाइट्स की एक L2 कैश लाइन पढ़ता है, और L2 कैश से L1 कैश में 64 बाइट्स की एक L1 कैश लाइन पढ़ता है।

प्रीफ़ेच इनपुट कतार के साथ कैश या अधिक सामान्य अग्रिम पेजिंग नीति आगे बढ़ें—वे न केवल अनुरोध किए गए चंक को पढ़ते हैं, बल्कि अनुमान लगाते हैं कि जल्द ही अगले चंक या दो की आवश्यकता होगी, और इसलिए उस डेटा को समय से पहले कैश में प्रीफ़ेच कर लेते हैं। प्रत्याशित पेजिंग विशेष रूप से सहायक है जब बैकिंग स्टोर में पहले खंड को पढ़ने के लिए लंबी विलंबता होती है और डिस्क भंडारण और डीआरएएम जैसे अगले कुछ हिस्सों को अनुक्रमिक रूप से पढ़ने के लिए बहुत कम समय होता है।

कुछ ऑपरेटिंग सिस्टम एक लोडर (कंप्यूटिंग) के साथ आगे बढ़ते हैं जो हमेशा संपूर्ण निष्पादन योग्य को रैम में प्री-लोड करता है।

कुछ कैश और भी आगे बढ़ जाते हैं, न केवल पूरी फ़ाइल को प्री-लोड करते हैं, बल्कि अन्य संबंधित फ़ाइलों को भी लोड करना शुरू करते हैं, जिनका जल्द ही अनुरोध किया जा सकता है, जैसे कि prefetcher से जुड़ा पेज कैश या लिंक प्रीफेचिंग से जुड़ा कैशिंग

सीपीयू कैश
CPU पर या उसके करीब की छोटी यादें बहुत बड़ी मुख्य मेमोरी की तुलना में तेजी से काम कर सकती हैं। 1980 के दशक के बाद से अधिकांश CPU ने एक या अधिक कैश का उपयोग किया है, कभी-कभी CPU कैश # मल्टी-लेवल कैश; आधुनिक हाई-एंड एंबेडेड कंप्यूटिंग, डेस्कटॉप कंप्यूटर और सर्वर माइक्रोप्रोसेसरों में छह प्रकार के कैश (स्तरों और कार्यों के बीच) हो सकते हैं। एक विशिष्ट फ़ंक्शन वाले कैश के उदाहरण हैं डी-कैश और मैं-कैश और मेमोरी प्रबंधन इकाई के लिए अनुवाद लुकसाइड बफर

जीपीयू कैश
पहले के ग्राफ़िक्स प्रोसेसिंग युनिट (जीपीयू) में अक्सर सीमित रीड-ओनली बनावट कैश होते थे, और 2डी कैश सुसंगतता को बेहतर बनाने के लिए मोर्टन आदेश झुर्रीदार बनावट पेश किया। कैश की कमी से प्रदर्शन पर भारी असर पड़ेगा, उदा। अगर mipmapping का उपयोग नहीं किया गया था। बनावट डेटा के लिए 32-बिट (और व्यापक) स्थानान्तरण का लाभ उठाने के लिए कैशिंग महत्वपूर्ण था, जो अक्सर प्रति पिक्सेल 4 बिट जितना छोटा होता था, मनमाने ढंग से यूवी निर्देशांक और उलटा बनावट मानचित्रण में परिप्रेक्ष्य परिवर्तनों द्वारा जटिल पैटर्न में अनुक्रमित किया जाता था।

जीपीयू के उन्नत होने के साथ (विशेष रूप से जीपीजीपीयू कंप्यूट शेडर्स के साथ) उन्होंने उत्तरोत्तर बड़े और तेजी से सामान्य कैश विकसित किए हैं, जिसमें शेडर्स के लिए निर्देश कैश शामिल हैं, सीपीयू कैश के साथ तेजी से सामान्य कार्यक्षमता प्रदर्शित करते हैं। उदाहरण के लिए, GeForce 200 सीरीज़ आर्किटेक्चर GPUs में L2 कैश की सुविधा नहीं थी, जबकि Fermi (माइक्रोआर्किटेक्चर) GPU में 768 KB तक का अंतिम-स्तरीय कैश है, केप्लर (माइक्रोआर्किटेक्चर) GPU में 1536 KB तक का अंतिम-स्तरीय कैश है, और मैक्सवेल (माइक्रोआर्किटेक्चर) जीपीयू में 2048 केबी तक का अंतिम-स्तरीय कैश है। ये कैश थ्रेड्स और परमाणु संचालन के बीच तुल्यकालन आदिम और सीपीयू-स्टाइल मेमोरी मैनेजमेंट यूनिट के साथ इंटरफेस को हैंडल करने के लिए विकसित हुए हैं।

डीएसपी
डिजिटल सिग्नल प्रोसेसर इसी तरह वर्षों से सामान्यीकृत हैं। पहले के डिजाइनों में प्रत्यक्ष मेमोरी एक्सेस द्वारा खिलाई गई स्क्रैचपैड मेमोरी का उपयोग किया जाता था, लेकिन क्वालकॉम हेक्सागोन जैसे आधुनिक डीएसपी में अक्सर सीपीयू में कैश का एक समान सेट शामिल होता है (उदाहरण के लिए साझा एल2, स्प्लिट एल1 आई-कैश और डी-कैश के साथ संशोधित हार्वर्ड वास्तुकला)।

अनुवाद लुकसाइड बफर
एक मेमोरी मैनेजमेंट यूनिट (एमएमयू) जो मुख्य मेमोरी से पृष्ठ तालिका प्रविष्टियां प्राप्त करती है, में एक विशेष कैश होता है, जिसका उपयोग आभासी पता के परिणामों को भौतिक एड्रेस ट्रांसलेशन में रिकॉर्ड करने के लिए किया जाता है। इस विशेष कैश को ट्रांसलेशन लुकसाइड बफर (TLB) कहा जाता है।

सूचना-केंद्रित नेटवर्किंग
सूचना-केंद्रित नेटवर्किंग (आईसीएन) एक मेजबान-केंद्रित प्रतिमान से दूर इंटरनेट बुनियादी ढांचे को विकसित करने के लिए एक दृष्टिकोण है, जो एक नेटवर्क आर्किटेक्चर के लिए स्थायी कनेक्टिविटी और एंड-टू-एंड सिद्धांत पर आधारित है जिसमें फोकल प्वाइंट की पहचान की गई जानकारी (या सामग्री या डेटा)। आईसीएन में नोड्स की अंतर्निहित कैशिंग क्षमता के कारण, इसे कैश के एक ढीले जुड़े नेटवर्क के रूप में देखा जा सकता है, जिसकी कैशिंग नीतियों की अनूठी आवश्यकताएं हैं। हालांकि, सर्वव्यापी सामग्री कैशिंग अनधिकृत पहुंच के खिलाफ सामग्री सुरक्षा के लिए चुनौती पेश करती है, जिसके लिए अतिरिक्त देखभाल और समाधान की आवश्यकता होती है। प्रॉक्सी सर्वर के विपरीत, ICN में कैश एक नेटवर्क-स्तरीय समाधान है। इसलिए, इसमें तेजी से कैश स्टेट्स और उच्च अनुरोध आगमन दर बदल रही है; इसके अलावा, छोटे कैशे आकार सामग्री बेदखली नीतियों पर एक अलग तरह की आवश्यकताओं को लागू करते हैं। विशेष रूप से, आईसीएन के लिए बेदखली नीतियां तेज और हल्की होनी चाहिए। विभिन्न आईसीएन आर्किटेक्चर और अनुप्रयोगों के लिए विभिन्न कैश प्रतिकृति और बेदखली योजनाएं प्रस्तावित की गई हैं।

समय जागरूक कम से कम हाल ही में इस्तेमाल किया (टीएलआरयू)
द टाइम अवेयर लीस्ट रिसेंटली यूज्ड (टीएलआरयू) LRU का एक रूप है जिसे उस स्थिति के लिए डिज़ाइन किया गया है जहाँ कैश में संग्रहीत सामग्री का एक वैध जीवन काल होता है। एल्गोरिदम नेटवर्क कैश अनुप्रयोगों में उपयुक्त है, जैसे सूचना-केंद्रित नेटवर्किंग (आईसीएन), सामग्री वितरण नेटवर्क (सीडीएन) और सामान्य रूप से वितरित नेटवर्क। टीएलआरयू ने एक नया शब्द पेश किया: टीटीयू (टाइम टू यूज)। टीटीयू सामग्री/पृष्ठ का एक टाइम स्टैंप है जो सामग्री की स्थानीयता और सामग्री प्रकाशक घोषणा के आधार पर सामग्री के लिए उपयोगिता समय निर्धारित करता है। इस स्थानीयता आधारित टाइम स्टैम्प के कारण, टीटीयू नेटवर्क स्टोरेज में विनियमित करने के लिए स्थानीय व्यवस्थापक को अधिक नियंत्रण प्रदान करता है। टीएलआरयू एल्गोरिदम में, जब सामग्री का एक टुकड़ा आता है, तो कैश नोड सामग्री प्रकाशक द्वारा निर्दिष्ट टीटीयू मूल्य के आधार पर स्थानीय टीटीयू मूल्य की गणना करता है। स्थानीय TTU मान की गणना स्थानीय रूप से परिभाषित फ़ंक्शन का उपयोग करके की जाती है। एक बार स्थानीय टीटीयू मान की गणना हो जाने के बाद सामग्री का प्रतिस्थापन कैश नोड में संग्रहीत कुल सामग्री के सबसेट पर किया जाता है। TLRU यह सुनिश्चित करता है कि कम लोकप्रिय और छोटी जीवन सामग्री को आने वाली सामग्री से बदल दिया जाए।

कम से कम हाल ही में उपयोग किया गया (एलएफआरयू)
कम से कम हाल ही में प्रयुक्त (एलएफआरयू) कैश प्रतिस्थापन योजना एलएफयू और एलआरयू योजनाओं के लाभों को जोड़ती है। एलएफआरयू 'नेटवर्क में' कैश अनुप्रयोगों के लिए उपयुक्त है, जैसे सूचना-केंद्रित नेटवर्किंग (आईसीएन), सामग्री वितरण नेटवर्क (सीडीएन) और सामान्य रूप से वितरित नेटवर्क। LFRU में, कैश को दो भागों में विभाजित किया जाता है जिन्हें विशेषाधिकार प्राप्त और गैर-विशेषाधिकार प्राप्त विभाजन कहा जाता है। विशेषाधिकार प्राप्त विभाजन को संरक्षित विभाजन के रूप में परिभाषित किया जा सकता है। यदि सामग्री अत्यधिक लोकप्रिय है, तो इसे विशेषाधिकार प्राप्त विभाजन में धकेल दिया जाता है। विशेषाधिकार प्राप्त विभाजन का प्रतिस्थापन निम्नानुसार किया जाता है: LFRU विशेषाधिकार प्राप्त विभाजन से सामग्री को हटाता है, विशेषाधिकार प्राप्त विभाजन से सामग्री को विशेषाधिकार प्राप्त विभाजन में धकेलता है, और अंत में विशेषाधिकार प्राप्त विभाजन में नई सामग्री सम्मिलित करता है। उपरोक्त प्रक्रिया में LRU का उपयोग विशेषाधिकार प्राप्त विभाजन के लिए किया जाता है और एक अनुमानित LFU (ALFU) योजना का उपयोग अनपेक्षित विभाजन के लिए किया जाता है, इसलिए संक्षिप्त नाम LFRU है। मूल विचार ALFU योजना के साथ स्थानीय रूप से लोकप्रिय सामग्री को फ़िल्टर करना और लोकप्रिय सामग्री को विशेषाधिकार प्राप्त विभाजन में धकेलना है।

मौसम का पूर्वानुमान
2010 दी न्यू यौर्क टाइम्स ने आपके ज़िप कोड के बाद 'मौसम' टाइप करने का सुझाव दिया। 2011 तक, मौसम पूर्वानुमान विकल्पों वाले स्मार्टफ़ोन का उपयोग एक्यूवेदर सर्वर पर अत्यधिक कर लगा रहा था; एक ही पार्क के भीतर दो अनुरोध अलग-अलग अनुरोध उत्पन्न करेंगे। एज-सर्वर द्वारा जीपीएस निर्देशांक को कम दशमलव स्थानों तक छोटा करने के लिए एक अनुकूलन का मतलब था कि पहले की क्वेरी से कैश्ड परिणाम का उपयोग किया जाएगा। प्रति-द-सर्वर लुकअप की संख्या प्रतिदिन आधी हो गई है।

डिस्क कैश
जबकि सीपीयू कैश आमतौर पर पूरी तरह से हार्डवेयर द्वारा प्रबंधित किया जाता है, विभिन्न प्रकार के सॉफ़्टवेयर अन्य कैश का प्रबंधन करते हैं। मुख्य मेमोरी में पेज कैश, जो डिस्क कैश का एक उदाहरण है, ऑपरेटिंग सिस्टम कर्नेल (ऑपरेटिंग सिस्टम) द्वारा प्रबंधित किया जाता है।

जबकि डिस्क बफर, जो हार्ड डिस्क ड्राइव या सॉलिड स्टेट ड्राइव का एक एकीकृत हिस्सा है, को कभी-कभी भ्रामक रूप से डिस्क कैश के रूप में संदर्भित किया जाता है, इसके मुख्य कार्य अनुक्रमण लिखना और प्रीफ़ेचिंग पढ़ना है। ड्राइव की क्षमता की तुलना में बफर के छोटे आकार के कारण बार-बार कैशे हिट अपेक्षाकृत दुर्लभ हैं। हालाँकि, हाई-एंड डिस्क नियंत्रकों के पास अक्सर हार्ड डिस्क ड्राइव के ब्लॉक (डेटा स्टोरेज) का अपना ऑन-बोर्ड कैश होता है।

अंत में, एक तेज़ स्थानीय हार्ड डिस्क ड्राइव धीमी डेटा स्टोरेज डिवाइस, जैसे रिमोट सर्वर (वेब ​​कैश) या स्थानीय टेप ड्राइव या ऑप्टिकल ज्यूकबॉक्स पर भी जानकारी को कैश कर सकता है; ऐसी योजना पदानुक्रमित भंडारण प्रबंधन की मुख्य अवधारणा है। साथ ही, तेज़ फ़्लैश-आधारित सॉलिड-स्टेट ड्राइव (SSDs) को हाइब्रिड ड्राइव या सॉलिड-स्टेट हाइब्रिड ड्राइव (SSHDs) के रूप में एक साथ काम करते हुए धीमी घूर्णी-मीडिया हार्ड डिस्क ड्राइव के लिए कैश के रूप में इस्तेमाल किया जा सकता है।

वेब कैश
वेब ब्राउज़र और प्रॉक्सी सर्वर वेब सर्वर से पिछले प्रतिक्रियाओं को संग्रहीत करने के लिए वेब कैश का उपयोग करते हैं, जैसे कि वेब पृष्ठ और चित्र। वेब कैश उस जानकारी की मात्रा को कम करता है जिसे पूरे नेटवर्क में प्रसारित करने की आवश्यकता होती है, क्योंकि कैश में पहले से संग्रहीत जानकारी का अक्सर पुन: उपयोग किया जा सकता है। यह वेब सर्वर की बैंडविड्थ और प्रोसेसिंग आवश्यकताओं को कम करता है, और वेब के उपयोगकर्ताओं के लिए प्रतिक्रियात्मकता में सुधार करने में मदद करता है। वेब ब्राउज़र एक अंतर्निहित वेब कैश का उपयोग करते हैं, लेकिन कुछ इंटरनेट सेवा प्रदाता (आईएसपी) या संगठन कैशिंग प्रॉक्सी सर्वर का भी उपयोग करते हैं, जो एक वेब कैश है जिसे उस नेटवर्क के सभी उपयोगकर्ताओं के बीच साझा किया जाता है।

कैश का एक अन्य रूप पी2पी कैशिंग है, जहां पी2पी ट्रांसफर में तेजी लाने के लिए पीयर-टू-पीयर एप्लिकेशन द्वारा सबसे अधिक मांगी जाने वाली फाइलों को इंटरनेट सेवा प्रदाता कैश में संग्रहीत किया जाता है। इसी तरह, विकेंद्रीकृत समतुल्य मौजूद हैं, जो समुदायों को पी2पी ट्रैफिक के लिए समान कार्य करने की अनुमति देते हैं, उदाहरण के लिए, कोरेली।

संस्मरण
एक कैश डेटा को स्टोर कर सकता है जिसे बैकिंग स्टोर से पुनर्प्राप्त करने के बजाय मांग पर गणना की जाती है। संस्मरण एक कार्यक्रम अनुकूलन तकनीक है जो एक लुकअप टेबल के भीतर संसाधन-खपत समारोह कॉल के परिणामों को संग्रहीत करती है, बाद की कॉल को संग्रहीत परिणामों का पुन: उपयोग करने और बार-बार गणना से बचने की अनुमति देती है। यह गतिशील प्रोग्रामिंग एल्गोरिथम डिजाइन पद्धति से संबंधित है, जिसे कैशिंग के साधन के रूप में भी सोचा जा सकता है।

सामग्री वितरण नेटवर्क
एक सामग्री वितरण नेटवर्क (सीडीएन) वितरित सर्वरों का एक नेटवर्क है जो उपयोगकर्ता के भौगोलिक स्थानों, वेब पेज की उत्पत्ति और सामग्री वितरण सर्वर के आधार पर उपयोगकर्ता को पेज और अन्य वेब सामग्री वितरित करता है।

सीडीएन 1990 के दशक के अंत में स्थिर सामग्री, जैसे कि एचटीएमएल पेज, छवियों और वीडियो के वितरण को गति देने के तरीके के रूप में शुरू हुआ। दुनिया भर के कई सर्वरों पर सामग्री की नकल करके और इसे उपयोगकर्ताओं को उनके स्थान के आधार पर वितरित करके, सीडीएन वेबसाइट या एप्लिकेशन की गति और उपलब्धता में काफी सुधार कर सकते हैं। जब कोई उपयोगकर्ता सामग्री के एक टुकड़े का अनुरोध करता है, तो सीडीएन यह देखने के लिए जांच करेगा कि उसके कैश में सामग्री की एक प्रति है या नहीं। यदि ऐसा होता है, तो सीडीएन कैश से उपयोगकर्ता को सामग्री वितरित करेगा।

क्लाउड स्टोरेज गेटवे
क्लाउड स्टोरेज गेटवे, जिसे एज फाइलर के रूप में भी जाना जाता है, एक हाइब्रिड क्लाउड स्टोरेज डिवाइस है जो एक स्थानीय नेटवर्क को एक या एक से अधिक क्लाउड स्टोरेज सेवाओं से जोड़ता है, आमतौर पर स्टोरेज सेवाओं जैसे कि Amazon S3 को ऑब्जेक्ट करता है। यह अक्सर एक्सेस किए गए डेटा के लिए कैश प्रदान करता है, क्लाउड स्टोरेज सेवा में अक्सर एक्सेस किए जाने वाले डेटा को हाई स्पीड स्थानीय एक्सेस प्रदान करता है। क्लाउड स्टोरेज गेटवे अतिरिक्त लाभ भी प्रदान करते हैं जैसे कि पारंपरिक फ़ाइल सर्विंग प्रोटोकॉल के माध्यम से क्लाउड वस्तु भंडारण तक पहुँचने के साथ-साथ कनेक्टिविटी आउटेज के दौरान कैश्ड डेटा तक निरंतर पहुँच।

अन्य कैश
BIND डोमेन की नामांकन प्रणाली डेमॉन IP पतों के लिए डोमेन नामों की मैपिंग को कैश करता है, जैसा कि एक रिज़ॉल्वर लाइब्रेरी करता है।

अविश्वसनीय नेटवर्क (ईथरनेट लैन की तरह) पर काम करते समय राइट-थ्रू ऑपरेशन सामान्य होता है, क्योंकि संचार अविश्वसनीय होने पर कई राइट-बैक कैश के बीच आवश्यक कैश सुसंगतता की भारी जटिलता होती है। उदाहरण के लिए, वेब पेज कैश और ग्राहक की ओर नेटवर्क फ़ाइल सिस्टम कैश (जैसे नेटवर्क फाइल सिस्टम (प्रोटोकॉल) या सर्वर संदेश ब्लॉक में) आमतौर पर नेटवर्क प्रोटोकॉल को सरल और विश्वसनीय रखने के लिए विशेष रूप से रीड-ओनली या राइट-थ्रू होते हैं।

वेब खोज इंजन अक्सर उन वेब पेजों को भी उपलब्ध कराते हैं जिन्हें उन्होंने अपने कैश से अनुक्रमित किया है। उदाहरण के लिए, Google प्रत्येक खोज परिणाम के आगे एक संचित लिंक प्रदान करता है। यह उपयोगी साबित हो सकता है जब वेब सर्वर से वेब पेज अस्थायी या स्थायी रूप से दुर्गम हों।

डेटाबेस कैशिंग डेटाबेस अनुप्रयोगों के थ्रूपुट में काफी सुधार कर सकता है, उदाहरण के लिए डाटाबेस इंडेक्स, डेटा शब्दकोश और डेटा के अक्सर उपयोग किए जाने वाले सबसेट के प्रसंस्करण में।

एक वितरित कैश एप्लिकेशन को स्केलेबिलिटी, विश्वसनीयता और प्रदर्शन प्रदान करने के लिए नेटवर्क होस्ट का उपयोग करता है। मेजबान विभिन्न भौगोलिक क्षेत्रों में सह-स्थित या फैले हो सकते हैं।

बफर बनाम कैश
बफ़र और कैश के शब्दार्थ पूरी तरह से अलग नहीं हैं; फिर भी, कैशिंग की प्रक्रिया और बफरिंग की प्रक्रिया के बीच आशय में मूलभूत अंतर हैं।

मौलिक रूप से, कैशिंग डेटा के हस्तांतरण के प्रदर्शन में वृद्धि का एहसास करता है जिसे बार-बार स्थानांतरित किया जा रहा है। जबकि एक कैशिंग सिस्टम डेटा आइटम के प्रारंभिक (आमतौर पर लिखने) हस्तांतरण पर प्रदर्शन में वृद्धि का एहसास कर सकता है, यह प्रदर्शन वृद्धि कैशिंग सिस्टम के भीतर होने वाली बफरिंग के कारण होती है।

रीड कैश के साथ, डेटा आइटम को उसके निवास स्थान से कम से कम एक बार प्राप्त किया जाना चाहिए ताकि डेटा आइटम के बाद के पढ़ने के लिए कैश के (तेज़) इंटरमीडिएट स्टोरेज से प्राप्त करने में सक्षम होने के आधार पर प्रदर्शन में वृद्धि का एहसास हो सके। डेटा का रहने का स्थान। राइट कैश के साथ, डेटा आइटम लिखने के प्रदर्शन में वृद्धि को डेटा आइटम के पहले राइट पर महसूस किया जा सकता है, डेटा आइटम को तुरंत कैश के इंटरमीडिएट स्टोरेज में संग्रहीत किया जा रहा है, डेटा आइटम को उसके रहने वाले स्टोरेज में स्थानांतरित करना। एक बाद की अवस्था या फिर एक पृष्ठभूमि प्रक्रिया के रूप में घटित होना। सख्त बफ़रिंग के विपरीत, एक कैशिंग प्रक्रिया को कैश के इंटरमीडिएट स्टोरेज और उस स्थान के बीच स्थिरता बनाए रखने के लिए एक (संभावित रूप से वितरित) कैश कोहेरेंसी प्रोटोकॉल का पालन करना चाहिए जहां डेटा रहता है। दूसरी ओर बफरिंग,


 * संचार प्रक्रियाओं के बीच अन्यथा उपन्यास डेटा के लिए स्थानान्तरण की संख्या कम कर देता है, जो कम, बड़े स्थानान्तरणों पर कई छोटे हस्तांतरणों के लिए शामिल ओवरहेड को परिशोधित करता है,
 * संचार प्रक्रियाओं के लिए एक मध्यस्थ प्रदान करता है जो एक दूसरे के बीच सीधे स्थानान्तरण करने में असमर्थ हैं, या
 * स्थानांतरण में शामिल संचार प्रक्रियाओं में से कम से कम एक के लिए आवश्यक न्यूनतम डेटा आकार या प्रतिनिधित्व सुनिश्चित करता है।

विशिष्ट कैशिंग कार्यान्वयन के साथ, पहली बार पढ़ा या लिखा गया डेटा आइटम प्रभावी रूप से बफ़र किया जा रहा है; और एक लेखन के मामले में, ज्यादातर उस एप्लिकेशन के प्रदर्शन में वृद्धि को महसूस करते हैं जहां से लेखन की उत्पत्ति हुई थी। इसके अतिरिक्त, एक कैशिंग प्रोटोकॉल का हिस्सा जहां व्यक्तिगत लेखन को लिखने के एक बैच के लिए स्थगित कर दिया जाता है, बफरिंग का एक रूप है। कैशिंग प्रोटोकॉल का वह हिस्सा जहां व्यक्तिगत रीड्स को रीड्स के एक बैच के लिए स्थगित कर दिया जाता है, वह भी बफरिंग का एक रूप है, हालांकि यह फॉर्म कम से कम शुरुआती रीड्स के प्रदर्शन को नकारात्मक रूप से प्रभावित कर सकता है (भले ही यह योग के प्रदर्शन को सकारात्मक रूप से प्रभावित कर सकता है) व्यक्ति पढ़ता है)। व्यवहार में, कैशिंग में लगभग हमेशा कुछ प्रकार की बफरिंग शामिल होती है, जबकि सख्त बफरिंग में कैशिंग शामिल नहीं होती है।

डेटा बफ़र एक अस्थायी मेमोरी स्थान है जो पारंपरिक रूप से उपयोग किया जाता है क्योंकि CPU निर्देश (कंप्यूटिंग) परिधीय उपकरणों में संग्रहीत डेटा को सीधे संबोधित नहीं कर सकता है। इस प्रकार, एड्रेसेबल मेमोरी का उपयोग मध्यवर्ती चरण के रूप में किया जाता है। इसके अतिरिक्त, ऐसा बफ़र तब संभव हो सकता है जब डेटा का एक बड़ा ब्लॉक इकट्ठा या अलग किया जाता है (जैसा कि स्टोरेज डिवाइस द्वारा आवश्यक होता है), या जब डेटा को उसके उत्पादन के क्रम से भिन्न क्रम में वितरित किया जा सकता है। इसके अलावा, डेटा का एक पूरा बफ़र आमतौर पर क्रमिक रूप से स्थानांतरित किया जाता है (उदाहरण के लिए हार्ड डिस्क पर), इसलिए बफ़रिंग कभी-कभी स्थानांतरण प्रदर्शन को बढ़ाता है या कैशिंग के विपरीत स्थानांतरण की विलंबता की भिन्नता या घबराहट को कम करता है, जहां विलंबता को कम करने का इरादा है। ये लाभ तब भी मौजूद हैं जब बफ़र किए गए डेटा को एक बार डेटा बफ़र में लिखा जाता है और एक बार बफ़र से पढ़ा जाता है।

एक कैश ट्रांसफर प्रदर्शन को भी बढ़ाता है। इसी तरह वृद्धि का एक हिस्सा इस संभावना से आता है कि कई छोटे स्थानान्तरण एक बड़े ब्लॉक में मिल जाएंगे। लेकिन मुख्य प्रदर्शन-लाभ इसलिए होता है क्योंकि एक अच्छा मौका है कि एक ही डेटा को कैश से कई बार पढ़ा जाएगा, या कि लिखित डेटा जल्द ही पढ़ा जाएगा। कैश का एकमात्र उद्देश्य अंतर्निहित धीमे स्टोरेज तक पहुंच को कम करना है। कैश भी यूसु हैसहयोगी एक अमूर्त परत जिसे पड़ोसी परतों के परिप्रेक्ष्य से अदृश्य होने के लिए डिज़ाइन किया गया है।

यह भी देखें

 * कैश रंग
 * कैश पदानुक्रम
 * कैश-बेखबर एल्गोरिदम
 * कैश भगदड़
 * कैश भाषा मॉडल
 * HTML5 में कैश मैनिफेस्ट
 * गंदा सा
 * पांच मिनट का नियम
 * भौतिकवादी दृश्य
 * मेमोरी पदानुक्रम
 * पाइपलाइन फट कैश
 * अस्थायी फ़ाइल

अग्रिम पठन

 * "What Every Programmer Should Know About Memory"
 * "Caching in the Distributed Environment"