Memcached खंड सीमा

memcached में हार्डकोडेड खंड सीमा (संपीड़न के बाद .5 मेगापिक्सल) क्यों है? क्या किसी ने इसे अपनाने के लिए किया है? मुझे पता है कि मुझे इस तरह के बड़े हिस्सों को नहीं भेजना चाहिए, लेकिन समय-समय पर इन अतिरिक्त भारी हिस्सों में मेरे लिए होता है और विनाश का विनाश होता है।

0
ro fr bn

1 उत्तर

This question used to be in the official FAQ

memcached में कुछ सीमाएं क्या हैं मैं हिट कर सकता हूँ? (वेबैक मशीन)

उद्धरण के लिए:

सामान्य सीमाएं जो आप शायद memcache के साथ देखेंगे कुंजी हैं और   आइटम आकार सीमाएं। कुंजी 250 वर्णों तक सीमित हैं। संग्रहीत डेटा   आकार में 1 मेगाबाइट से अधिक नहीं हो सकता है, क्योंकि यह सबसे बड़ा ठेठ है   स्लैब आकार। "

अक्सर पूछे जाने वाले प्रश्नों को संशोधित किया गया है और अब इसमें दो अलग-अलग प्रश्न हैं:

मैक्सीमूम कुंजी लंबाई क्या है? (250 बाइट्स)

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

आइटम आकार में 1 मेगाबाइट तक सीमित क्यों हैं?

आह, यह एक लोकप्रिय सवाल है!

     

संक्षिप्त उत्तर: स्मृति आवंटक के एल्गोरिदम कैसे काम करता है।

     

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

     

न्यूनतम मान 400 बाइट्स कहें, और अधिकतम मान 1 है   मेगाबाइट, और फैक्टोरियल 1.20 है:

     

स्लैब 1 - 400 बाइट स्लैब 2 - 480 बाइट स्लैब 3 - 576 बाइट्स ... आदि।

     

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

     

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

     

यदि आप वास्तव में 1 एमबी से बड़े आइटम स्टोर करना चाहते हैं, तो आप कर सकते हैं   एक संपादित slabs.c: POWER_BLOCK मान, या उपयोग के साथ memcached recompile   अक्षम मॉलोक / मुफ्त बैकएंड। अन्य सुझावों में ए शामिल हैं   डेटाबेस, मोगाइलएफएस, आदि।

0
जोड़ा