كيف يمكنني ذاكرة التخزين المؤقت للبيانات الديناميكية من واجهة برمجة تطبيقات REST باستخدام PHP؟

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

سؤال

تحديث: لقد قررت أخذ النصيحة أدناه وتنفيذ طبقة memcached في تطبيقي. الآن لدي فكرة أخرى. هل سيكون من الممكن/فكرة جيدة تقديم طلب Ajax على استطلاع للرأي (على سبيل المثال كل خمس أو عشر دقائق) الذي يتحقق من Memcached ثم التحديثات عند انتهاء صلاحية Memcached؟ وبهذه الطريقة ، لم يختبر المستخدم النهائي أبدًا أنه يتم تنفيذه بصمت في الخلفية.


أنا أستخدم واجهة برمجة تطبيقات REST الخاصة بـ Edge Edge لتقديم توصيات على تطبيق الويب الخاص بي. المشكلة التي أواجهها هي أن أتعلم لعدد كبير من التوصيات في أماكن متعددة عبر الموقع ، و الكمون مهم ، مما يجعل الصفحة تحميل شيء مثل 2-5 ثوان لكل استعلام. يبدو فظيعا.

أنا لا أستخدم روابط PHP الموجه لـ Edge ، وبدلاً من ذلك أستخدم بعض روابط PHP التي كتبتها بنفسي. يمكنك رؤية الروابط على جيثب. أنا أتواصل مع واجهة برمجة التطبيقات الخاصة بهم باستخدام حليقة.

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

إليك مثال على رمز العميل للحصول على توصيات.

$de = new DirectedEdgeRest();
$item = "user".$uid;
$limit = 100;
$tags = "goal";
$recommendedGoals = $de->getRecommended($item, $tags, $limit);
هل كانت مفيدة؟

المحلول

يمكنك ذاكرة التخزين المؤقت إلى ملف باستخدام serialize و file_put_contents:

file_put_contents("my_cache", serialize($myObject));

يمكنك أيضًا ذاكرة التخزين المؤقت إلى memcached أو قاعدة بيانات.

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