واجهة برمجة التطبيقات:الحفظ المؤقت للبيانات

This page is a translated version of the page API:Caching data and the translation is 100% complete.

التحكم في حفظ البيانات المؤقت من ناحية العميل

يسمح بروتوكول HTTP بالتحكم في الكيفية التي تحفظ بها متصفحات الإنترنت وبروكسيهات الوب المحتوى، وذلك عن طريق عدة قيم محددة في ترويسة Cache-Control. (هذا الأمر يعمل فقط مع طلبات GET.) تسمح واجهة برمجة التطبيقات للعميل ضبط قيمتين اثنين من بين هذه القيم، وهي max-age و s-maxage، عن طريق متغيرات واجهة برمجة التطبيقات maxage و smaxage.

يتولى متغير maxage إبلاغ متصفح الإنترنت بمدة حفظ الرد (بالثواني). يفعل متغير smaxage نفس الأمر فيما يخص البروكسيهات المشتركة. أما من الناحية الفعلية فالمتغير الأخير يستخدم عادة في توجيه البروكسي المعكوس من ناحية الخادوم (كما هو الحال في Varnish الذي تستخدمه ويكيميديا).

لا تحفظ الأخطاء أبدًا. سوف توسم الردود التي يحددها المستخدم بوسم Cache-Control: private حتى يحفظها المتصفح حفظًا مؤقتًا بينما أن البروكسيهات العامة لا تحفظها. تستعين واجهة برمجة التطبيقات في الوقت الراهن بإعدادات اللغة للمستخدم مسجل الدخول افتراضيًا، لذا سوف تكون ردود المستخدمين مسجلو الدخول خصوصية دائمًا. يمكن تلافي هذا الأمر عن طريق إضافة متغير واجهة برمجة التطبيقات uselang=content (T97096).

تحسين معدل زيارات الحفظ المؤقت

يرد على أي طلب قادم من الحفظ المؤقت للمحتوى لو كان معرف الموارد الموحد كاملًا محفوظ حفظًا مؤقتًا. (مثال: لو طلبت ذات الطلب وكانت قيمة maxage=1800 وبعد ذلك كانت القيمة maxage=3600، لن يتمكن الطلب الثاني من استخدام محفوظات الحفظ المؤقت الأول بسبب أن اختلاف قيمة المتغير maxage تجعل من معرف الموارد الموحد مختلفًا.) لو أرسلت قائمة بالصفحات في صفة متغير، يجوز أن تحسن من مستوى معدل زيارات الحفظ المؤقت عن طريق تصنيف هذه الصفحات وإلغاء تكرارها.

التحكم في حفظ البيانات المؤقت من ناحية وحدة واجهة برمجة التطبيقات البرمجية

يحدد الحفظ المؤقت عن طريق سبل ApiMain::setCache*. عادة ما يكون الحفظ المؤقت من بواعث القلق فقط في وحدات query البرمجية الفرعية، التي يجب أن تستخدم سبيل getCacheMode بدلا من المذكور، التي تتلقاها من ApiQueryBase.