سياسة LookupCache

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

يضبط كيفية استرداد القيم المخزّنة مؤقتًا في وقت التشغيل.

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

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

مرجع العنصر

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

<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> في إعدادات هذه السياسة.

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

سمات <LookupCache>

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

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

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

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

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

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

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

خطأ اختياري
enabled

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

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

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

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

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

&lt;DisplayName&gt; عنصر

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

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

لا ينطبق

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

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

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

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

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

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

عنصر <Scope>

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

<Scope>scope_enumeration</Scope>

الإعداد التلقائي:

"حصري"

الحضور:

اختياري

النوع:

سلسلة

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

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

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

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

Global

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

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

Application

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

يتمّ إدراج مفتاح ذاكرة التخزين المؤقت في المقدّمة على النحو التالي: orgName__envName__applicationName.

Proxy

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

يتمّ إدراج مفتاح ذاكرة التخزين المؤقت في المقدّمة بالشكل التالي: orgName__envName__applicationName__proxyEndpointName .

Target

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

مفتاح ذاكرة التخزين المؤقت الذي تمّ وضعه في المقدّمة بالشكل التالي: orgName__envName__applicationName__targetEndpointName .

Exclusive

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

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

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

مفتاح ذاكرة التخزين المؤقت الذي تمّ إدراجه في النموذج orgName__envName__applicationName__proxyNameITargetName

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

apifactory__test__weatherapi__16__default__apiAccessToken
.

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

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

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

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

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

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

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

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

رموز الخطأ

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

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

لا ينطبق

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

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

أخطاء النشر

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

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

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

لا ينطبق

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

لا ينطبق