سؤال

هل هناك طريقة ليكون بالتأكيد أن الصفحة تأتي من ذاكرة التخزين المؤقت على خادم الإنتاج وعلى خادم التطوير أيضًا؟

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

مجرد التحقق مما إذا كانت البيانات قديمة لا يعد طريقة اختبار آمنة جدًا للمنظمة البحرية الدولية (IMO).

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

المحلول

نحن نقوم بالكثير من عمليات التخزين المؤقت للمكونات ولا يتم تحديثها جميعًا في نفس الوقت.لذلك قمنا بتعيين قيم المضيف والطابع الزمني في معالج السياق المضمن عالميًا.في الجزء العلوي من كل جزء من القالب، نلتصق بما يلي:

<!-- component_name {{host}} {{timestamp}} -->

يجعل اسم المكون من السهل إجراء عرض المصدر والبحث عن تلك السلسلة.

تحدد جميع عروضنا التي هي عبارة عن صفحات تفاصيل الكائن متغير السياق "page_object" ولدينا هذا في الجزء العلوي من قالب base.html الرئيسي:

<!-- {{page_object.class_id}} @ {{timestamp}} -->

class_id() هي طريقة من فئة ممتازة تستخدمها جميع فئات المحتوى الأساسية لدينا.انه فقط:

def class_id(self):
    "%s.%s.%s" % (self.__class__._meta.app_label,
                    self.__class__.__name__, self.id)

إذا قمت بتحميل صفحة وكان عمر أي من الطوابع الزمنية أكثر من بضع ثوانٍ، فمن الرهان الجيد أن المكون تم تخزينه مؤقتًا.

نصائح أخرى

يعمل اقتراح Peter Rowells بشكل جيد ، لكنك لا تحتاج إلى معالج سياق قالب مخصص للطوابع الزمنية.يمكنك ببساطة استخدام علامة القالب:

 <!-- {% now "jS F Y H:i" %} --> 

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

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

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