سؤال

لماذا يوجد حد للقطعة المشفرة (.5 ميجا بعد الضغط) في com.memcached؟وقد أي شخص إعادة تجميعها لتصل إلى ذلك؟أعلم أنه لا ينبغي لي إرسال مقاطع كبيرة كهذه، لكن هذه المقاطع الثقيلة الإضافية تحدث لي من وقت لآخر وتسبب الفوضى.

هل كانت مفيدة؟

المحلول

كان هذا السؤال في الأسئلة الشائعة الرسمية

ما هي بعض الحدود في memcached التي قد أضربها؟(آلة وايباك)

يقتبس:

الحدود البسيطة التي ستراها ربما مع Memcache هي حدود حجم المفتاح والعنصر.تقتصر المفاتيح على 250 حرفًا.لا يمكن أن يتجاوز حجم البيانات المخزنة 1 ميغابايت ، لأن هذا هو أكبر حجم لوح نموذجي. "

تمت الآن مراجعة الأسئلة الشائعة ويوجد الآن سؤالان منفصلان يغطيان هذا الأمر:

ما هو الحد الأقصى لطول المفتاح؟(250 بايت)

الحد الأقصى لحجم المفتاح هو 250 حرفًا.لاحظ أن هذه القيمة ستكون أقل إذا كنت تستخدم "بادئات" العميل أو ميزات مماثلة ، حيث يتم معالجة البادئة في مقدمة المفتاح الأصلي.المفاتيح الأقصر بشكل عام أفضل لأنها توفر الذاكرة واستخدام نطاق النطاق الترددي الأقل.

لماذا يقتصر حجم العناصر على 1 ميغابايت؟

اه هذا سؤال شعبي!

اجابة قصيرة:بسبب كيفية عمل خوارزمية مخصص الذاكرة.

اجابة طويلة:يستخدم محرك تخزين الذاكرة الخاص بـ Memcached (والذي سيكون قابلاً للتخلي/تعديله في المستقبل ...) ، نهج ألواح لإدارة الذاكرة.يتم تقسيم الذاكرة إلى أجزاء ألواح ذات أحجام متفاوتة ، بدءًا من عدد أدنى ويصعد من قبل أحد الموظفين إلى أكبر قيمة ممكنة.

قل أن القيمة الدنيا هي 400 بايت ، والحد الأقصى القيمة هي 1 ميغابايت ، والماكينة هي 1.20:

اللوحة 1 - 400 بايت اللوحة 2 - 480 بايت اللوحة 3 - 576 بايت ...إلخ.

كلما زادت البلاطة ، زادت الفجوة بينها وبين البلاطة السابقة.لذلك كلما زادت القيمة القصوى ، كلما كان تخزين الذاكرة أقل كفاءة.يتعين على Memcached أيضًا تخصيص بعض الذاكرة لكل لوح موجود ، لذلك سيتطلب وضع عازف أصغر مع قيمة أقصى أكبر قدرًا أكبر من النفقات العامة.

هناك سبب آخر لعدم رغبتك في القيام بذلك ...إذا كنا نتحدث عن صفحة ويب وكنت تحاول تخزين/تحميل القيم الكبيرة ، فمن المحتمل أن تفعل شيئًا خاطئًا.بهذا الحجم سوف يستغرق قدرا ملحوظا من الوقت لتحميل وفك بنية البيانات في الذاكرة ، ومن المحتمل ألا يعمل موقعك بشكل جيد.

إذا كنت ترغب حقًا في تخزين العناصر التي تزيد عن 1 ميغابايت ، فيمكنك إعادة ترجمة memcached مع تحرير slabs.c:POWER_BLOCK القيمة ، أو استخدم الواجهة الخلفية غير الفعالة Malloc/Free.تشمل الاقتراحات الأخرى قاعدة بيانات ، mogilefs ، إلخ.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top