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

أنت الآن بصدد الاطّلاع على مستندات Apigee Edge.
انتقِل إلىمستندات Apigee X.
info

تضبط هذه السياسة كيفية إزالة القيم المخزّنة مؤقتًا من ذاكرة التخزين المؤقت.

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

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

مرجع العناصر

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

<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>

سمات <InvalidateCache>

يصف الجدول التالي السمات المشتركة بين جميع العناصر الرئيسية للسياسة:

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

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

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

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

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

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

خطأ اختياري
enabled

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

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

صحيح اختياري
async

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

خطأ منهي العمل به

&lt;DisplayName&gt; عنصر

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

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

لا ينطبق

إذا لم تستخدم هذا العنصر، سيتم ضبط قيمة السمة name للسياسة على النحو التالي: استخدام البيانات المختلفة.

التواجد في المنزل اختياري
النوع سلسلة

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

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

<APIProxyName>application_that_added_the_entry</APIProxyName>

السمات

السمة الوصف تلقائي التواجد في المنزل النوع
ref متغيّر يحتوي على اسم التطبيق لا ينطبق اختياري سلسلة

العنصر <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>

يُستخدَم لإنشاء CacheKey. تكون قيم 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>. لمزيد من المعلومات، يُرجى الاطّلاع على مقالة العمل باستخدام مفاتيح ذاكرة التخزين المؤقت.

السمات

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

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

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

<Prefix>prefix_string</Prefix>

تلقائي:

لا ينطبق

التواجد في المنزل:

اختياري

النوع:

سلسلة

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

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

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

يحدّد اسم الخادم الوكيل الذي تم تخزين البيانات مؤقتًا من أجله.

<ProxyName>proxy_for_which_data_was_cached</ProxyName>

تلقائي:

لا ينطبق

التواجد في المنزل:

اختياري

النوع:

سلسلة

السمات

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

العنصر <PurgeChildEntries>

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

يُرجى العِلم أنّه يجب تحديد العنصر <KeyFragment>. إذا لم يتم ذلك، قد يؤدي ضبط <PurgeChildEntries> على "صحيح" إلى محو جميع الإدخالات في ذاكرة التخزين المؤقت.

يمكن أن يكون إبطال جميع إدخالات ذاكرة التخزين المؤقت التي لها قيمة جزء المفتاح نفسها طريقة مفيدة لـ محْو إدخالات متعدّدة ذات صلة في آنٍ واحد.

<PurgeChildEntries>true_to_purge_child_entries</PurgeChildEntries>

تلقائي:

خطأ

التواجد في المنزل:

اختياري

النوع:

منطقي

العنصر <Scope>

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

<Scope>scope_enumeration</Scope>

تلقائي:

"Exclusive"

التواجد في المنزل:

اختياري

النوع:

سلسلة

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

orgName__envName__applicationName__deployedRevisionNumber__proxy|TargetName__ [ serializedCacheKey ].

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

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

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

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

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

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

Application

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

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

Proxy

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

يتم إلحاق مفتاح ذاكرة التخزين المؤقت بالشكل orgName__envName__applicationName__deployedRevisionNumber__proxyEndpointName .

Target

يُستخدَم إعداد TargetEndpoint كبادئة.

يتم إلحاق مفتاح ذاكرة التخزين المؤقت بالشكل 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>

تلقائي:

لا ينطبق

التواجد في المنزل:

اختياري

النوع:

سلسلة

السمات

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

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

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

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

رموز الخطأ

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

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

لا ينطبق

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

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

أخطاء النشر

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

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

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

لا ينطبق

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

لا ينطبق