كيف يمكنني تجنب النسخ المكررة لكائن ما في ذاكرة التخزين المؤقت؟

StackOverflow https://stackoverflow.com/questions/92927

  •  01-07-2019
  •  | 
  •  

سؤال

أنا أستخدم memcache لتصميم ذاكرة تخزين مؤقت لطبقة نموذج تطبيق الويب، وإحدى أكبر مشكلاتي هي اتساق البيانات.يتبادر إلى ذهني تخزين البيانات مؤقتًا مثل هذا:(key = query ، value = قائمة معرفات الكائن نتيجة الاستعلام) لكل معرف من القائمة:(المفتاح=object.id، القيمة=الكائن)

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

هل يستخدم أحد هذا البديل، هل هو الله؟أي أفكار أخرى؟

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

المحلول

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

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

لمزيد من المناقشة حول خوارزميات التخزين المؤقت، راجع ويكيبيديا (للمبتدئين)

نصائح أخرى

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

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