س: ما هو نوع ذاكرة التخزين المؤقت التي تعتبر ذاكرة تخزين مؤقت جيدة؟
ذاكرة التخزين المؤقت التي تحل مشكلة ما هي ذاكرة تخزين مؤقت جيدة. هذه الجملة ببساطة هراء، فهي تعادل القط الأبيض، والقطة السوداء، ومن يصطاد الفئران فهو قط جيد.
لذا، على أساس حل المشكلة، ما هي ذاكرة التخزين المؤقت التي تعتبر أفضل ذاكرة تخزين مؤقت؟ إجابتي على هذا السؤال هي: ذاكرة التخزين المؤقت ذات معدل ضربات ذاكرة التخزين المؤقت المرتفع هي ذاكرة تخزين مؤقت جيدة.
في إطار فرضية حل المشكلة، قد تتطلب ذاكرة التخزين المؤقت ذات معدل ضربات مرتفع استثمارًا أقل في الأجهزة مقارنة بذاكرة التخزين المؤقت ذات معدل ضربات منخفض، وفي الوقت نفسه، قد يكون عدد ذاكرات التخزين المؤقت أقل من عدد ذاكرات التخزين المؤقت ذات ضربات منخفضة بهذه الطريقة، ستكون سرعة المعالجة أسرع بالتأكيد. لذا فإن ذاكرة التخزين المؤقت ذات معدل الإصابة المرتفع تعد ذاكرة تخزين مؤقت جيدة.
معدل ضرب ذاكرة التخزين المؤقت
بعد أن يتم طرح كيان مخبأ في ذاكرة التخزين المؤقت، إذا لم يتم استخدامه مرة واحدة من قبل العالم الخارجي أثناء تخزين الكيان مؤقتًا (أثناء دورة حياة الكيان الذي يتم تخزينه مؤقتًا)، فإن معدل إصابة الكيان المخزن مؤقتًا هو 0. كلما زاد عدد مرات طلب هذا الكيان، زاد معدل الوصول إلى ذاكرة التخزين المؤقت الخاصة به.
ما هو مذكور أعلاه هو معدل إصابة الكيان في ذاكرة التخزين المؤقت. بالنسبة لذاكرة التخزين المؤقت ككل، فإن معدل الدخول الخاص بها هو مخطط توزيع معدل الدخول لكل فرد تم تخزينه مؤقتًا أعلاه.
للتخزين المؤقت: عادةً ما يمثل الأفراد الأكثر استخدامًا جزءًا صغيرًا جدًا من المجموع. الأقل استخدامًا يشكل نسبة كبيرة من الكل.
لذلك غالبًا ما نرى بيانات مثل هذا:
من بين 10.000 عنصر مخبأ، يتم استخدام 100 منها بشكل متكرر، كل دقيقة تقريبًا. 2000 قطعة من البيانات، تطلب مرة واحدة في الساعة. يتم طلب 3000 قطعة من البيانات مرة واحدة يوميًا، ولا يتم استخدام البيانات المتبقية ولو مرة واحدة بعد رميها في ذاكرة التخزين المؤقت.
في الوقت الحاضر، تتطور الأجهزة بسرعة، إذا كنا نحتاج فقط إلى تخزين 10000 بيانات في ذاكرة التخزين المؤقت، فيمكننا رمي جميع البيانات البالغ عددها 10000 في ذاكرة التخزين المؤقت بغض النظر عما إذا تم استخدامها بهذه الطريقة، فطالما أننا نبحث عن البيانات، فسنحصل عليها بالتأكيد البيانات في ذاكرة التخزين المؤقت. ليست هناك حاجة لإجراء عمليات إضافية أو تقديم طلبات إلى قاعدة البيانات.
ومع ذلك: تتطور الأجهزة بسرعة، وكذلك كمية البيانات. بالنسبة لموقع ويب صغير، إذا تم تخزين 10000 قطعة من البيانات مؤقتًا، فسيتم تخزينها جميعًا مؤقتًا. ومع ذلك، تحتوي مواقع الويب الكبيرة على ما لا يقل عن ملايين البيانات أو بيانات المستوى T. ومن الواضح أنه لا يمكن إلقاء كل هذه البيانات في ذاكرة التخزين المؤقت. في هذا الوقت، من المهم جدًا تصميم حل معقول للتخزين المؤقت وتحسين معدل ضربات ذاكرة التخزين المؤقت. وهذا ضروري.
بعض الطرق الشائعة لتحسين معدل دخول ذاكرة التخزين المؤقت
من منظور تقني بحت، فإننا نسجل فقط عدد طلبات المستخدمين لكل وحدة زمنية، ونخزن البيانات الأكثر استخدامًا مؤقتًا بناءً على هذه المعلومات.
ولكن في أغلب الأحيان، نقوم بتحسين معدل ضربات ذاكرة التخزين المؤقت بناءً على منطق الأعمال. على سبيل المثال: في العام الماضي والمدونة التي تم نشرها في العام قبل الماضي، كانت طلبات التصفح لهذا النوع من المقالات عادة على الأقل عدة مرات في اليوم. عموما لا ينبغي أن يكون مؤقتا في الذاكرة.
على سبيل المثال، سيتم بشكل عام عرض المنشور الذي يحتوي على العديد من الردود من قبل عدد أكبر من الأشخاص مقارنة بالمنشور الذي يحتوي على ردود أقل.
يجب أن نستخدم المنطق أعلاه ونوفر خوارزمية تخزين مؤقت بناءً على منطق العمل الفعلي الخاص بنا لتحسين معدل ضربات ذاكرة التخزين المؤقت. فلنقم بتخزين البيانات المناسبة مؤقتًا، بدلاً من جميع البيانات، كما تسمح أجهزتنا.
المثال السلبي هو: بغض النظر عن موقع مدونة كبير، عندما يطلب المستخدم مقالًا، يتبين أنه غير موجود في ذاكرة التخزين المؤقت للذاكرة، لذلك تتم قراءته من قاعدة البيانات ثم يتم إلقاؤه في ذاكرة التخزين المؤقت.
كما تعلمون، هناك الكثير من برامج الزحف الآن. بالإضافة إلى ذلك، بالنسبة للمواقع الملائمة لمحركات البحث مثل المدونات، فإن معظم ضغط الوصول يأتي من محركات البحث. عادة ما تكون هذه الزيارات لمدة ساعة أو يوم واحد، مع عدد قليل أو حتى طلب واحد لمقال معين، ثم لا يتكرر ذلك أبدًا. سيكون معدل ضربات طريقة التخزين المؤقت المذكورة أعلاه منخفضًا جدًا.
قد يسأل شخص ما هنا، Guo Hongjun، بما أنك لا تقترح علي تخزين محتوى هذه المدونات مؤقتًا، ولكن كيف يمكنني تحسين أداء موقعي؟ يجب علي على الأقل التأكد من أن موقع مدونتي لن يكون بطيئًا جدًا في الاستجابة لطلبات المستخدمين.
هناك العديد من الحلول لهذه المشكلة، إحدى أبسط الطرق هي تحويل هذه المدونات إلى صفحات Html ثابتة، وهي ذاكرة التخزين المؤقت لنظام الملفات، نظرًا للقرص الصلب، يمكن فهم نظام الملفات ببساطة على أنه قابل للتوسيع بشكل لا نهائي. بحيث يتم تخزين العديد من المحتوى ذو معدل الدخول المنخفض في ذاكرة التخزين المؤقت.
إذا كانت صفحتك تتطلب بعض الحكم المنطقي الديناميكي، فيمكنك تخزين البيانات مؤقتًا في ملفات XML، ثم يقوم مقطع الخادم بدمج ملفات XML هذه، أو يتضمن ملفات. وهذا أيضًا نهج جيد.
بعد أن ذكرنا العديد من المشكلات المتعلقة بمعدل ضربات ذاكرة التخزين المؤقت، دعنا نلخص بإيجاز وجهات النظر حول معدل ضربات ذاكرة التخزين المؤقت:
يمكن لمواقع الويب الصغيرة تخزين جميع البيانات مؤقتًا، ولن يكون الضغط كبيرًا بشكل عام، لذلك يمكن تجاهل مشكلات معدل الوصول إلى ذاكرة التخزين المؤقت.
لا يمكن للخدمات الكبيرة تخزين جميع البيانات مؤقتًا، ولكن جزء فقط من البيانات، يحتاج المهندس المعماري في هذا الوقت إلى تصميم طريقة تخزين مؤقت مناسبة لمنطق الأعمال لتحسين معدل ضربات ذاكرة التخزين المؤقت قدر الإمكان.
ترتبط معظم طرق تحسين معدل الدخول بمنطق الأعمال وتتطلب تحليلاً تفصيليًا لمشاكل محددة بالنسبة للبيانات التي لا يمكن تخزينها مؤقتًا في الذاكرة، فإن أبسط طريقة لتحسين الأداء هي استخدام التخزين المؤقت للملفات.
يمكن للتخزين المؤقت للملف تخزين المحتوى بالكامل في ملف ثابت، ويمكنه أيضًا تخزين مساحة من الصفحة بأكملها في ملف ثم تضمينه، ويمكنه أيضًا إجراء تسلسل للكيان في ملف XML للتخزين المؤقت.
دعونا نلقي نظرة على بعض الجوانب الأخرى الأقل أهمية للتخزين المؤقت:
أنشطة دورة حياة ذاكرة التخزين المؤقت
لا ينبغي وضع المحتوى الذي لا تنتهي صلاحيته أو يتغير إلى الأبد في ذاكرة التخزين المؤقت. ذاكرة التخزين المؤقت هي تخزين مؤقت، وليست دائمة، لذا فإن دورة حياة ذاكرة التخزين المؤقت محدودة.
وبدوره قد يمر بالأنشطة التالية:
أدخل ذاكرة التخزين المؤقت. (عند إدخال ذاكرة التخزين المؤقت، قد تحتاج إلى تحديد سياسة انتهاء الصلاحية المستقبلية الخاصة بها. إذا لم يتم تحديدها، فستحتاج إلى استخدام سياسة انتهاء الصلاحية الافتراضية للنظام)
احصل عليه من ذاكرة التخزين المؤقت. لاحظ أنه يجب التعامل مع مشكلات أمان الخيط في الوقت الحالي.
عند تحديث ذاكرة التخزين المؤقت، لاحظ أنك تحتاج أيضًا إلى مراعاة مشكلات سلامة سلسلة الرسائل عند مغادرة ذاكرة التخزين المؤقت. قد يكون هذا طلبًا خارجيًا، أو قد تقوم ذاكرة التخزين المؤقت بمسحها بناءً على سياسة انتهاء الصلاحية.
سياسة انتهاء صلاحية ذاكرة التخزين المؤقت
بشكل عام، أود أن أسأل، ما هي استراتيجيات انتهاء صلاحية ذاكرة التخزين المؤقت التي واجهتها في ذاكرات التخزين المؤقت التي اتصلت بها؟
استراتيجيات انتهاء الصلاحية الأكثر شيوعا هي كما يلي:
إذا لم يتم طلبها لفترة طويلة، فستنتهي صلاحيتها. والأكثر شيوعًا هي وظيفة القسم التي توفرها ASP وASP.net. في الواقع، هو مخبأ.
ستنتهي صلاحية ذاكرة التخزين المؤقت التي تعتمد على تغييرات الملف بمجرد تعديل الملف، عادةً ما يكون Web.config الخاص بموقع الويب بمجرد تغيير الملف، لن تتم إعادة تشغيل ذاكرة التخزين المؤقت فحسب، بل ستقوم عملية IIS أيضًا بإجراء إصدار.
وبناءً على ذلك، قد ترى سياسات انتهاء صلاحية ذاكرة التخزين المؤقت للعديد من التبعيات. على سبيل المثال، سياسة انتهاء صلاحية ذاكرة التخزين المؤقت التي تعتمد على قاعدة البيانات.
بالطبع، قد تكون هناك استراتيجيات انتهاء صلاحية أكثر تعقيدًا في منطق الأعمال في الإصدار الجديد من منتدى نظام نقاط CSDN، ستقوم ذاكرة التخزين المؤقت لقائمة النشر بمسحها إلى 550 قطعة من البيانات عندما تصل ذاكرة التخزين المؤقت لبيانات القائمة إلى 600.
مثال آخر هو أن ذاكرة التخزين المؤقت لمشاركات المنتدى الجديدة المستندة إلى النقاط تنتهي صلاحيتها عندما لا تشير أي قائمة إلى المنشور، وتنتهي صلاحية النشر.
مشكلة في مزامنة ذاكرة التخزين المؤقت
استخدام ذاكرة التخزين المؤقت يعني أنه قد تتواجد نسخ متعددة من نفس البيانات معًا. إذا كان الكود الخاص بك لا يأخذ في الاعتبار موقفًا معينًا، فستكون البيانات غير متناسقة. هذا هو الوقت الذي ستحدث فيه المشاكل.
الحل بسيط. فكر جيدًا في منطق عملك وحالات تشغيل التعليمات البرمجية، ولا تترك أي مناطق لم تصل إلى القاع.
يمكن للطرق البسيطة أن تجعل منطق التعليمات البرمجية الخاص بك معقدًا للغاية.
ولهذا السبب يوصي بعض الأشخاص بعدم استخدام التخزين المؤقت عندما لا يكون ذلك ضروريًا. بمجرد البدء في استخدام التخزين المؤقت، يجب أن تكون مستعدًا لإضافة الكثير من التعليمات البرمجية للتعامل مع مزامنة البيانات.
تهيئة وملء بيانات ذاكرة التخزين المؤقت
في بعض الأحيان، بعد تهيئة ذاكرة التخزين المؤقت، يلزم تعبئة بعض البيانات مسبقًا في ذاكرة التخزين المؤقت. هذه هي عملية تهيئة البيانات المخزنة مؤقتًا.
يجب مراعاة المشكلات التالية أثناء عملية تهيئة البيانات المخزنة مؤقتًا:
ما المدة التي تستغرقها التهيئة؟ بشكل عام، إذا كان موقعًا، فقد نتعامل مع أعمال التهيئة هذه في Application_OnStart الخاص بـ Global.asa. لا يمكن أن تستغرق عملية التهيئة وقتًا طويلاً بشكل عام، وفي الوقت الحالي، يتم اختبار قدرتنا على تحسين التعليمات البرمجية.
أثناء التهيئة، يتم عادةً استيراد البيانات على دفعات، بدلاً من معالجة بيانات واحدة في كل مرة أثناء الاستخدام العادي.
تلخيص:
تقدم هذه المقالة بعض وجهات نظري حول التخزين المؤقت دون التعمق في تقنيات التخزين المؤقت المحددة. آمل أنه من خلال وصف هذه المقالة، يمكن للأشخاص الذين يعرفون فقط استخدام التخزين المؤقت ولكن لا يفهمون فكرة التخزين المؤقت أن يكون لديهم فهم أولي.
http://blog.csdn.net/ghj1976/archive/2007/09/01/1768676.aspx