- मापने का उचित तरीका बाइट्स/किलोबाइट्स में वास्तविक आकार का क्या है? पूछने के लिए
कारण:
मुझे लगता है कि गैर तकनीकी ग्राहकों द्वारा उपयोग किया जाएगा अपने वेब आवेदन में कैश भंडारण के लिए memcached का उपयोग कर रहा हूँ। हालांकि, चूंकि memcached के पास maximum size of 1mb है, इसलिए शुरुआत से एक फ़ंक्शन स्थापित करना बहुत अच्छा होगा कि मुझे चयनित वस्तुओं/सरणी/डेटासेट के आकार को मापने के लिए उपयोग किया जा सकता है, ताकि उन्हें बड़े से बढ़ने से रोका जा सके।PHP: ऑब्जेक्ट/सरणी के किलोबाइट्स में आकार मापें?
ध्यान दें कि मैं समय के साथ कैश प्रदर्शन और भंडारण संभावनाओं का ट्रैक रखने के लिए इसे चेतावनी/नैदानिक उपकरण के रूप में उपयोग करने की योजना बना रहा हूं। मुझे लगता है कि प्रत्येक memcached सेट/एड कॉल पर गणना की गति चीजों को थोड़ा धीमा कर देगा।
मुझे याद है कि मेमकैड में बड़े डेटासेट को संग्रहीत करने के बारे में भी जानकारी है, रैम में चीज़ों को संग्रहीत करने के पूरे विचार को दूर ले जाता है, और यही कारण है कि ग्राहकों को बड़े डेटासेट तक पहुंचने से रोकने के लिए मुझे पहले से ही पता होना चाहिए।
धन्यवाद एक बहुत
यूनिकोड सही के कारण यह 16 बिट बाइट होगा? –
हाय! यही वह है जो मैं पूछने वाला था। यह यूटीएफ 8 और एकाधिक बाइट वर्णों को कैसे संभालता है? – Industrial
अच्छा, यह सब निर्भर करता है। यदि आपके पास mb_string फ़ंक्शन ओवरलोडिंग है, तो आपके पास समस्याएं हैं। यदि नहीं, तो 'strlen' बाइट लंबाई लौटाएगा (जो आप पहले स्थान पर चाहते हैं)। यदि आपके पास 'mbstring.func_overload' है, तो आप' mb_strlen (serialize ($ foo), '8bit') का उपयोग कर सकते हैं; 'strlen के स्थान पर। लेकिन ध्यान दें, mb_string इसका उपयोग करने के लिए स्थापित होना चाहिए। मैं एक और मजबूत संस्करण में संपादित करूंगा ... – ircmaxell