سياسة LookupCache

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

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

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

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

مرجع العنصر

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

<LookupCache async="false" continueOnError="false" enabled="true" name="Lookup-Cache-1">
    <DisplayName>Lookup Cache 1</DisplayName>
    <Properties/>
    <CacheKey>
        <Prefix/>
        <KeyFragment ref=""/>
    </CacheKey>
    <!-- Omit this element if you're using the included shared cache. -->
    <CacheResource/>
    <CacheLookupTimeoutInSeconds/>
    <Scope>Exclusive</Scope>
    <AssignTo>flowVar</AssignTo>
</LookupCache>

يتم تلقائيًا تضمين ذاكرة التخزين المؤقت المشتركة. لاستخدام ذاكرة التخزين المؤقت المشتركة، احذف العنصر <CacheResource> في إعدادات السياسة هذه.

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

سمات <LookupCache>

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

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

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

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

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

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

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

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

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

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

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

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

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

العنصر <DisplayName>

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

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

لا ينطبق

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

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

عنصر <AssignTo>

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

<AssignTo>variable_to_receive_cached_value</AssignTo>

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

لا ينطبق

الحضور:

مطلوبة

النوع:

سلسلة

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

عنصر <CacheLookupTimeoutInSeconds>

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

<CacheLookupTimeoutInSeconds>30</CacheLookupTimeoutInSeconds>

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

30

الحضور:

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

النوع:

عدد صحيح

عنصر<CacheResource>

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

يمكنك حذف هذا العنصر تمامًا إذا كانت هذه السياسة (وسياستَي "fill"Name" (تعبئة) و" لَوْصِ التَّبْدِيلْ" الْمُنَاسَبَة) تستخدم ذاكرة التخزين المؤقت المشتركة المُضمَّنة.

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

عنصر <Scope>

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

<Scope>scope_enumeration</Scope>

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

"حصرية"

الحضور:

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

النوع:

سلسلة

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

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

ويمكنك استخدام هذه السياسة للتخزين المؤقت للأغراض العامة. في وقت التشغيل، تسترد سياسة LookupCache قيمة من ذاكرة التخزين المؤقت، وتحدّد القيمة للمتغيّر الذي تحدّده باستخدام عنصر AssignTo (إذا لم يتم استرداد أي قيمة، لن يتم ضبط المتغيّر). يبحث عن القيمة استنادًا إلى مفتاح ذاكرة التخزين المؤقت الذي تم إنشاؤه من خلال عملية الإعداد التي تجمع بين عنصرَي CacheKey و"النطاق". بمعنى آخر، لاسترداد قيمة معيّنة تمت إضافتها إلى ذاكرة التخزين المؤقت من خلال سياسة PopulateCache، يجب أن تحتوي سياسة LookupCache على عناصر متعلقة بالمفتاح في ذاكرة التخزين المؤقت تم ضبطها بالطريقة نفسها المتّبعة في سياسة PopulateCache.

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

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

متغيرات التدفق

يمكن استخدام متغيّرات التدفق لضبط سلوك وقت التشغيل الديناميكي للسياسات وعمليات التدفق، استنادًا إلى عناوين HTTP أو محتوى الرسالة، أو السياق المتاح في التدفق. لمزيد من المعلومات عن متغيّرات التدفق، يُرجى الاطّلاع على مرجع المتغيّرات.

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

المتغيرات Type الإذن الوصف
lookup.{policy-name}.cachename سلسلة قراءة فقط تعرض اسم ذاكرة التخزين المؤقت المستخدَم في السياسة.
lookupcache.{policy-name}.cachekey سلسلة قراءة فقط لعرض المفتاح المستخدم.
lookupcache.{policy-name}.cachehit منطقي قراءة فقط صحيح إذا عثرت السياسة على قيمة لمفتاح ذاكرة التخزين المؤقت المحدّد.
البحث في ذاكرة التخزين المؤقت {policy-name}.assignto سلسلة قراءة فقط تعرض المتغيّر الذي تم تخصيص ذاكرة التخزين المؤقت له.

رموز الخطأ

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

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

لا ينطبق

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

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

أخطاء النشر

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

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

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

لا ينطبق

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

لا ينطبق