2011-07-22 15 views
8

ऐप्पल की NSURLCache कक्षा में decent documentation है, लेकिन यह नहीं कहता कि caching algorithm इसका उपयोग करता है। क्या यह एलआरयू, एलएफयू, या पूरी तरह से कुछ और है?NSRLCache क्या कैशिंग एल्गोरिदम उपयोग करता है?

मैं आईपैड के लिए विकास कर रहा हूं, और की डिस्क-कैशिंग क्षमताओं का उपयोग [NSURLCache setDiskCapacity] (डिफ़ॉल्ट रूप से 0 लगता है) का उपयोग कर फ़ोटो कैश करने के लिए कर रहा हूं। इस मूल्य पर ऊपरी सीमा क्या है?

+0

यह जानकारी ऐप्पल के लिए बहुत अच्छी तरह से निजी हो सकती है। वे बल्कि पर्याप्त है कि यह 'बस काम करता है'। –

+0

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

+0

यह गतिशील भी हो सकता है। यह संभव है कि यह परिस्थिति के आधार पर दृष्टिकोण बदलता है। –

उत्तर

3

डिस्क क्षमता की ऊपरी सीमा डिवाइस की डिस्क क्षमता प्रतीत होती है। मैं 'लगाए गए सॉफ्टवेयर' सीमा के बारे में कुछ भी नहीं देख सकता।

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

यदि आप कैशिंग एल्गोरिदम को जानने पर कुछ निर्भर कर रहे थे, तो आप इसके साथ कुछ कर सकते हैं।

+0

धन्यवाद, यह बहुत दिलचस्प है। जैसा कि आप उल्लेख करते हैं, यह ऐप्पल का 'NSURLCache' का संस्करण नहीं है, और संभावित रूप से उनका पूरी तरह से अलग-अलग काम कर सकता है, लेकिन आपको वैसे भी वास्तविक प्रयास के लिए उपहार प्रदान करता है। धन्यवाद! :-) –

1

मुझे लगता है कि आपको इसे समझने के लिए कुछ परीक्षण केस लिखना होगा। (और, ज़ाहिर है, ध्यान रखें कि पैरामीटर आईओएस संस्करण, हार्डवेयर प्लेटफॉर्म इत्यादि के साथ बदल सकते हैं)

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