2011-02-23 11 views
14

मुझे एमआरयू के एल्गोरिदम पता है और इसके बाद हाल ही में इस्तेमाल किए गए एक कम हालिया प्रयुक्त (एलआरयू)।कैश नीति को बेदखल करने के रूप में सबसे हाल ही में प्रयुक्त (एमआरयू) एल्गोरिदम का उपयोग क्यों करता है?

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

उत्तर

29

कल्पना कीजिए कि आप बसों के ब्योरे को देख रहे थे क्योंकि वे बस बस पर पहुंचे थे, उनके बस नंबर (या जो भी पहचानकर्ता आप उपयोग करते हैं) के आधार पर।

यह लगता है कि अगर आप सिर्फ देखा एक नंबर 36 बस के बाद, आप कम सिर पर एक और एक को देखने के लिए के अलावा अन्य बसों है कि वहाँ बंद हो जाता है में से एक द्वारा देखे जाने वाले कुछ हद तक उचित है।

बस एक उदाहरण है, लेकिन विचार अधिक सामान्य है: कुछ मामलों में, "बस कुछ देखा" होना एक अच्छा संकेतक है कि आप की संभावना जल्द ही एक ही चीज़ को देखने के लिए हैं।

+2

इस समय बस पर सवार हो रहा है :)? –

+2

@ पीटर: जैसा कि होता है, मैं अब हूं, लेकिन जब मैं इस पोस्ट को लिखता हूं तो मैं ट्रेन में था :) –

+0

@ जोनस्केट यह अस्थायी इलाके सिद्धांत के खिलाफ नहीं जाता है? – shingaridavesh

2

उपयोग का मामला तब होता है जब आप एक ही (बड़े-से-कैश) डेटा के माध्यम से कई बार फिर से चल रहे होते हैं, और इसलिए आप हाल ही में एक्सेस किए गए डेटा पर वापस नहीं जाएंगे। 1

1

मुझे लगता है कि @ जोन स्कीट और @ जेरेमिया विलकॉक के दोनों जवाब एमआरयू का उपयोग बेकार प्रविष्टियों के साथ कैश को पॉलिश करने से बचने के तरीके के रूप में कर रहे हैं।

  1. यह केवल तभी काम करता है जब आपके कैश एपीआई आपको फ्लाई पर नीति बदलने की अनुमति देते हैं; जैसे एक प्रति अनुरोध आधार पर। "सामान्य" परिस्थितियों में एमआरयू को अपनी कैश नीति सेट करना संभवतः एक बुरा विचार है ... क्योंकि भरने के बाद आपका कैश अप्रभावी हो जाता है।

  2. MRU समस्या यह है कि अगर आप एक प्रवेश करते हुए MRU लुकअप कर कि अक्सर "सामान्य" मोड में उपयोग पर एक हिट हो, आप प्रवेश बाहर फेंक अंत ... है

बेहतर कैश poluting बिना एक स्कैन करने के लिए MRU के लिए विकल्प हैं:

  • बाईपास कैश पूरी तरह से,
  • जांच एक के माध्यम से पढ़ने/अद्यतन कर बिना कैश, और LRU जंजीरों को बदले बिना।

क्या इसके लायक है के लिए, मैं MRU के लिए किसी भी उपयोग-मामले कि यह सामान्य अनुरूप नहीं पाए जाने के बारे में सोच नहीं कर सकते।

0

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

संबंधित मुद्दे