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

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

سمات <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

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

إذا حدّدت إدخال <CacheKey> باستخدام <KeyFragment> apiAccessToken ونطاق <Global>، يتم تخزين كل إدخال على النحو orgName__envName__apiAccessToken، يليه القيمة المتسلسلة لرمز الدخول. بالنسبة إلى خادم وكيل لواجهة برمجة التطبيقات تم نشره في بيئة باسم &quot;test&quot; في مؤسسة باسم &quot;apifactory&quot;، سيتم تخزين رموز الدخول ضمن مفتاح ذاكرة التخزين المؤقت التالي: 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.

يستخدم التخزين المؤقت للأغراض العامة مع سياسة Populate Cache وسياسة 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 يحدث هذا الخطأ إذا لم يتم إنشاء ذاكرة التخزين المؤقت المحددة المذكورة في رسالة الخطأ على مكون محدد لمعالجة الرسائل.

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

لا ينطبق

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

لا ينطبق