سؤال

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

لدي القليل جدا من المتطلبات

  1. يجب تطوير ذاكرة التخزين المؤقت (لا توجد مكتبات خارجية) وتشغيل Python 2.6/2.7
  2. يجب أن توفر المكتبة واجهة موحدة ، بحيث يكون من الممكن استخدام أغلفة ذاكرة التخزين المؤقت الخارجية (على سبيل المثال: memcached) ، والتي سيتم حقنها التبعية
  3. يجب أن تكون ذاكرة التخزين المؤقت آمنة للخيط
  4. سيكون المحتوى الذي سيتم تخزينه مؤقتًا هو حمولة JSON من ردود API على الويب.
  5. تختلف البيانات المقدمة من واجهة برمجة تطبيقات الويب في فئران زمنية مختلفة: على سبيل المثال ، قد يختلف الطقس المرصود حاليًا على المدينة كل ساعة ، في حين أن توقعات الطقس قد تختلف كل 5 أيام أو نحو ذلك.

ما هي أبسط الخوارزمية التي يمكن استخدامها؟

كنت أفكر في خوارزمية LRU (الأقل استخدامًا) ، لكنني أعتقد أنه يمكن تقييم بدائل أخرى - لست خبيرًا في ذاكرة التخزين المؤقت على الإطلاق!

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

المحلول

يمكنك فقط نسخ المصدر وتكييفه من LRU_Cache (انظر http://hg.python.org/cpython/file/default/lib/functools.py).

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