سياسة صلاحية ذاكرة التخزين المؤقت

يتم الآن عرض مستندات Apigee Edge.
انتقِل إلى مستندات Apigee X.
المعلومات

تحدِّد هذه السياسة كيفية إزالة القيم المخزَّنة مؤقتًا من ذاكرة التخزين المؤقت.

الغرض من هذه السياسة هو الاستخدام في التخزين المؤقت القصير المدى للأغراض العامة. ويتم استخدامها بالتزامن مع سياسة تعبئة ذاكرة التخزين المؤقت (لكتابة الإدخالات) وسياسة البحث عن ذاكرة التخزين المؤقت (لقراءة إدخالات ذاكرة التخزين المؤقت).

للتخزين المؤقت لاستجابات موارد الخلفية، يمكنك الاطّلاع على سياسة ذاكرة التخزين المؤقت للاستجابة.

مرجع العنصر

في ما يلي قائمة بالعناصر التي يمكنك ضبطها في هذه السياسة.

<InvalidateCache async="false" continueOnError="false" enabled="true" name="policy-name">
    <DisplayName>Policy Name</DisplayName>
    <CacheKey>
        <Prefix>prefix_string</Prefix>
        <KeyFragment ref="variable_reference"/>
        <KeyFragment>fragment_string</KeyFragment>
    </CacheKey>
    <!-- Omit this element if you're using the included shared cache. -->
    <CacheResource>cache_to_use</CacheResource>
    <Scope>scope_enumeration</Scope>
    <CacheContext>
        <APIProxyName>application_that_added_the_entry</APIProxyName>
        <ProxyName>proxy_for_which_data_was_cached</ProxyName>
        <TargetName>endpoint_for_which_data_was_cached</TargetName>
    </CacheContext>
    <PurgeChildEntries>true_to_purge_all_child_entries</PurgeChildEntries>
</InvalidateCache>

سمات <validateCache>

يوضِّح الجدول التالي السمات الشائعة لجميع العناصر الرئيسية للسياسة:

السمة الوصف تلقائي التواجد في المنزل
name

الاسم الداخلي للسياسة وقد تحتوي قيمة السمة name على أحرف وأرقام ومسافات وواصلات وشرطات سفلية ونقاط. لا يمكن أن تتجاوز هذه القيمة 255 حرفًا.

ويمكنك اختياريًا استخدام العنصر <DisplayName> لتصنيف السياسة في محرِّر الخادم الوكيل لواجهة المستخدم الإدارية باستخدام اسم مختلف للغة طبيعية.

لا ينطبق مطلوبة
continueOnError

اضبط القيمة على false لعرض رسالة خطأ عند تعذُّر تنفيذ السياسة. وهو سلوك متوقّع لمعظم السياسات.

اضبط القيمة على true لمواصلة تنفيذ التدفق حتى بعد تعذُّر تنفيذ السياسة.

false إجراء اختياري
enabled

اضبط القيمة على true لفرض السياسة.

اضبط القيمة على false من أجل إيقاف السياسة. ولن يتم فرض السياسة حتى إذا ظلت مرتبطة بمسار.

صحيح إجراء اختياري
async

تم إيقاف هذه السمة نهائيًا.

false منهي العمل به

العنصر <DisplayName>

استخدِم هذه السمة بالإضافة إلى السمة name لتصنيف السياسة في محرِّر الخادم الوكيل لواجهة المستخدم الإدارية باستخدام اسم مختلف بلغة طبيعية.

<DisplayName>Policy Display Name</DisplayName>
تلقائي

لا ينطبق

إذا لم تستخدم هذا العنصر، سيتم استخدام قيمة السمة name الخاصة بالسياسة.

التواجد في المنزل إجراء اختياري
Type سلسلة

العنصر <CacheContext>/<APIProxyName>

تُحدِّد اسم التطبيق الذي أضاف إدخال ذاكرة التخزين المؤقت.

<APIProxyName>application_that_added_the_entry</APIProxyName>

السمات

السمة الوصف تلقائي التواجد في المنزل Type
المرجع المتغير يحمل اسم التطبيق. لا ينطبق إجراء اختياري سلسلة

عنصر <CacheContext>

تحدِّد هذه السياسة طريقة إنشاء مفتاح ذاكرة تخزين مؤقت عند عدم تحديد قيمة عنصر Prefix، أو لمحو إدخالات ذاكرة التخزين المؤقت التي أضافها خادم وكيل آخر لواجهة برمجة التطبيقات.

<CacheContext>
  <APIProxyName ref="variable_name">application_that_added_the_entry</APIProxyName>
  <TargetName ref="variable_name">endpoint_for_which_data_was_cached</TargetName>
  <ProxyName ref="variable_name">proxy_for_which_data_was_cached</ProxyName>
</CacheContext>

يُستخدم لإنشاء مفتاح ذاكرة التخزين المؤقت. وتكون قيم APIProxyName وProxyName وTargetName إلزامية عند عدم استخدام بادئة CacheKey (أي بادئة مخصّصة) لمحو إدخالات ذاكرة التخزين المؤقت التي أضافها خادم وكيل آخر لواجهة برمجة التطبيقات.

العنصر <CacheKey>

تحدِّد هذه السياسة مؤشرًا فريدًا يشير إلى جزء من البيانات المخزَّنة في ذاكرة التخزين المؤقت.

<CacheKey>
    <Prefix>string</Prefix>
    <KeyFragment ref="variable_name" />
    <KeyFragment>literal_string</KeyFragment>
</CacheKey>

الخيار التلقائي:

لا ينطبق

الحضور:

مطلوبة

النوع:

لا ينطبق

تنشئ <CacheKey> اسم كل جزء من البيانات مخزَّنة في ذاكرة التخزين المؤقت.

في وقت التشغيل، يتم إرفاق قيم <KeyFragment> إما بقيمة العنصر <Scope> أو بقيمة <Prefix>. على سبيل المثال، يؤدي ما يلي إلى عرض مفتاح ذاكرة التخزين المؤقت للسمة UserToken__apiAccessToken__<value_of_client_id>:

<CacheKey>
    <Prefix>UserToken</Prefix>
    <KeyFragment>apiAccessToken</KeyFragment>
    <KeyFragment ref="request.queryparam.client_id" />
</CacheKey>

ويمكنك استخدام العنصر <CacheKey> بالاقتران مع <Prefix> و<Scope>. لمزيد من المعلومات، يمكنك الاطّلاع على العمل باستخدام مفاتيح ذاكرة التخزين المؤقت.

عنصر <CacheResource>

تحدِّد هذه السياسة ذاكرة التخزين المؤقت التي يجب تخزين الرسائل فيها.

احذف هذا العنصر تمامًا إذا كانت هذه السياسة (وسياستَي PopulateCache وLookupCache) المرتبطتَين تستخدمان ذاكرة التخزين المؤقت المشتركة المضمّنة.

<CacheResource>cache_to_use</CacheResource>

الخيار التلقائي:

لا ينطبق

الحضور:

إجراء اختياري

النوع:

سلسلة

لمزيد من المعلومات حول إعداد ذاكرات التخزين المؤقت، راجع إنشاء ذاكرة تخزين مؤقت للبيئة وتعديلها.

العنصر <CacheKey>/<KeyFragment>

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

<KeyFragment ref="variable_name"/>
<KeyFragment>literal_string</KeyFragment>

الخيار التلقائي:

لا ينطبق

الحضور:

إجراء اختياري

النوع:

لا ينطبق

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

<KeyFragment>apiAccessToken</KeyFragment>
<KeyFragment ref="request.queryparam.client_id" />

ويمكنك استخدام العنصر <KeyFragment> بالاقتران مع <Prefix> و<Scope>. لمزيد من المعلومات، يمكنك الاطّلاع على العمل باستخدام مفاتيح ذاكرة التخزين المؤقت.

السمات

السمة الوصف تلقائي التواجد في المنزل Type
المرجع تمثّل هذه السمة المتغيّر المطلوب الحصول على القيمة منه. يجب عدم استخدامها إذا كان هذا العنصر يحتوي على قيمة حرفية. لا ينطبق إجراء اختياري سلسلة

العنصر <CacheKey>/<Prefix>

تُحدِّد قيمة لاستخدامها كبادئة مفتاح ذاكرة التخزين المؤقت.

<Prefix>prefix_string</Prefix>

الخيار التلقائي:

لا ينطبق

الحضور:

إجراء اختياري

النوع:

سلسلة

استخدِم هذه القيمة بدلاً من <Scope> عندما تريد تحديد قيمة لك بدلاً من قيمة <Scope> العددية. وفي حال تحديدها، يضيف <Prefix> قيمة مفتاح ذاكرة التخزين المؤقت للإدخالات المكتوبة في ذاكرة التخزين المؤقت. تؤدي قيمة العنصر <Prefix> إلى إلغاء قيمة العنصر <Scope>.

ويمكنك استخدام العنصر <Prefix> بالاقتران مع <CacheKey> و<Scope>. لمزيد من المعلومات، يمكنك الاطّلاع على العمل باستخدام مفاتيح ذاكرة التخزين المؤقت.

العنصر <CacheContext>/<ProxyName>

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

<ProxyName>proxy_for_which_data_was_cached</ProxyName>

الخيار التلقائي:

لا ينطبق

الحضور:

إجراء اختياري

النوع:

سلسلة

السمات

السمة الوصف تلقائي التواجد في المنزل Type
المرجع تمثّل هذه السمة المتغيّر المطلوب الحصول على القيمة منه. يجب عدم استخدامها إذا كان هذا العنصر يحتوي على قيمة حرفية. لا ينطبق إجراء اختياري سلسلة

عنصر <PurgeChildEntries>

true لإزالة إدخالات ذاكرة التخزين المؤقت التي تتشارك القيمة التي تم ضبطها من خلال عنصر <KeyFragment> تم إعداده لهذه السياسة. ولا يتم مراعاة القيم في أجزاء أخرى من مفتاح ذاكرة التخزين المؤقت، مثل عناصر <Prefix>.

ملاحظة: يجب تحديد العنصر <KeyFragment>. وإذا لم تكن كذلك، قد يؤدي ضبط السياسة على "صحيح" للسمة <PurgeChildEntries> إلى إزالة جميع الإدخالات في ذاكرة التخزين المؤقت نهائيًا.

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

<PurgeChildEntries>true_to_purge_child_entries</PurgeChildEntries>

الخيار التلقائي:

false

الحضور:

إجراء اختياري

النوع:

منطقي

عنصر <Scope>

تعداد يُستخدَم لإنشاء بادئة لمفتاح ذاكرة التخزين المؤقت عندما لا يتوفّر عنصر <Prefix> في العنصر <CacheKey>

<Scope>scope_enumeration</Scope>

الخيار التلقائي:

"حصرية"

الحضور:

إجراء اختياري

النوع:

سلسلة

يحدد الإعداد <Scope> مفتاح ذاكرة تخزين مؤقت تتم إضافته قبل قيمة <Scope>. على سبيل المثال، سيتخذ مفتاح ذاكرة التخزين المؤقت الشكل التالي عند ضبط النطاق على Exclusive:

orgName__envName__التطبيقName__deployedRevisionNumber__proxy|TargetName__ [ serializedCacheKey ].

إذا كان العنصر <Prefix> متوفّرًا في <CacheKey>، سيحلّ محلّ قيمة العنصر <Scope>. وتشمل القيم الصالحة التعداد أدناه.

ويمكنك استخدام العنصر <Scope> بالاقتران مع <CacheKey> و<Prefix>. لمزيد من المعلومات، يمكنك الاطّلاع على العمل باستخدام مفاتيح ذاكرة التخزين المؤقت.

القِيم المقبولة

قيمة النطاق الوصف
Global

تتم مشاركة مفتاح ذاكرة التخزين المؤقت بين كل الخوادم الوكيلة لواجهة برمجة التطبيقات المنشورة في البيئة. تتم إضافة مفتاح ذاكرة التخزين المؤقت بالتنسيق orgName __ envName __.

إذا عرَّفت إدخال <CacheKey> باستخدام apiAccessToken <KeyFragment> والنطاق <Global>، سيتم تخزين كل إدخال على أنّه orgName__envName__apiAccessToken، متبوعة بالقيمة التسلسلية لرمز الدخول. بالنسبة إلى خادم وكيل لواجهة برمجة التطبيقات تم نشره في بيئة تُسمى "test" في مؤسسة تُسمّى "apifactory"، سيتم تخزين رموز الدخول ضمن مفتاح ذاكرة التخزين المؤقت التالي: apifactory__test__apiAccessToken.

Application

يتم استخدام اسم الخادم الوكيل لواجهة برمجة التطبيقات كبادئة.

تتم إضافة مفتاح ذاكرة التخزين المؤقت على شكل orgName__envName__applicationName.

Proxy

يتم استخدام إعداد ProxyEndpoint كبادئة.

تتم إضافة مفتاح ذاكرة التخزين المؤقت على النحو التالي: orgName__envName__applicationName__deployedRevisionNumber__proxyEndpointName .

Target

يتم استخدام ضبط نقطة النهاية كبادئة.

مفتاح ذاكرة التخزين المؤقت مضاف بالصيغة orgName__envName__applicationName__deployedRevisionNumber__targetEndpointName .

Exclusive

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

تكون البادئة واحدة من شكلين:

  • في حال إرفاق السياسة بمسار ProxyEndpoint، ستكون البادئة على شكل ApiProxyName_ProxyEndpointName.
  • في حال إرفاق السياسة على TargetEndpoint، ستظهر البادئة ApiProxyName_TargetName.

مفتاح ذاكرة التخزين المؤقت مضاف على الشكل orgName__envName__applicationName__deployedRevisionNumber__proxyNameITargetName

على سبيل المثال، قد تبدو السلسلة الكاملة على النحو التالي:

apifactory__test__weatherapi__16__default__apiAccessToken
.

العنصر <CacheContext>/<TargetName>

تحدّد هذه السياسة اسم نقطة النهاية الهدف التي تم تخزين البيانات مؤقتًا لها.

<TargetName>endpoint_for_which_data_was_cached</TargetName>

الخيار التلقائي:

لا ينطبق

الحضور:

إجراء اختياري

النوع:

سلسلة

السمات

السمة الوصف تلقائي التواجد في المنزل Type
المرجع تمثّل هذه السمة المتغيّر المطلوب الحصول على القيمة منه. يجب عدم استخدامها إذا كان هذا العنصر يحتوي على قيمة حرفية. لا ينطبق إجراء اختياري سلسلة

ملاحظات الاستخدام

إنّ التخزين المؤقت للأغراض العامة من خلال سياسة تعبئة ذاكرة التخزين المؤقت وسياسة LookupCache وسياسة invalidateCache يستخدم إمّا ذاكرة تخزين مؤقت تضبطها أو ذاكرة تخزين مؤقت مشترَكة يتم تضمينها بشكل تلقائي. في معظم الحالات، يجب أن تلبّي ذاكرة التخزين المؤقت المشتركة الأساسية احتياجاتك. لاستخدام ذاكرة التخزين المؤقت هذه، ما عليك سوى حذف العنصر <CacheResource>.

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

رموز الخطأ

يوضِّح هذا القسم رسائل الخطأ ومتغيّرات التدفق التي يتم تحديدها عندما تؤدي هذه السياسة إلى ظهور خطأ. هذه المعلومات مهمة لمعرفة ما إذا كنت تعمل على تطوير قواعد خطأ لخادم وكيل. لمزيد من المعلومات، يمكنك الاطّلاع على المعلومات التي يجب معرفتها عن الأخطاء المتعلقة بالسياسات وأخطاء المعالجة.

بادئة رمز الخطأ

لا ينطبق

أخطاء في وقت التشغيل

لا تؤدي هذه السياسة إلى حدوث أي أخطاء في وقت التشغيل.

أخطاء النشر

يمكن أن تحدث هذه الأخطاء عند نشر خادم وكيل يحتوي على هذه السياسة.

اسم الخطأ السبب إصلاح
InvalidCacheResourceReference يحدث هذا الخطأ إذا تم ضبط العنصر <CacheResource> في السياسة SpamateCache على اسم غير متوفّر في البيئة التي يتم فيها تفعيل الخادم الوكيل لواجهة برمجة التطبيقات.
CacheNotFound يحدث هذا الخطأ إذا لم يتم إنشاء ذاكرة التخزين المؤقت المحددة المذكورة في رسالة الخطأ على مكون محدد لمعالجة الرسائل.

متغيرات الخطأ

لا ينطبق

مثال على الردّ على الخطأ

لا ينطبق