أنت تطّلع على مستندات 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 |
الاسم الداخلي للسياسة. يمكن لقيمة السمة يمكنك، إذا أردت، استخدام العنصر |
لا ينطبق | مطلوب |
continueOnError |
اضبط القيمة على يمكنك ضبط القيمة على |
خطأ | اختياري |
enabled |
اضبط القيمة على اضبط القيمة على |
صحيح | اختياري |
async |
تم إيقاف هذه السمة نهائيًا. |
خطأ | منهي العمل به |
<DisplayName> عنصر
استخدِمه مع السمة name
لتصنيف السياسة في
إدارة خادم وكيل لواجهة المستخدم باسم مختلف بلغة طبيعية.
<DisplayName>Policy Display Name</DisplayName>
تلقائي |
لا ينطبق إذا لم تستخدم هذا العنصر، سيتم ضبط قيمة السمة |
---|---|
التواجد في المنزل | اختياري |
النوع | سلسلة |
عنصر <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 __. إذا حدّدت إدخال |
Application |
يتم استخدام اسم الخادم الوكيل لواجهة برمجة التطبيقات كبادئة. يتمّ إدراج مفتاح ذاكرة التخزين المؤقت في المقدّمة على النحو التالي: orgName__envName__applicationName. |
Proxy |
يتم استخدام إعدادات ProxyEndpoint كبادئة. يتمّ إدراج مفتاح ذاكرة التخزين المؤقت في المقدّمة بالشكل التالي: orgName__envName__applicationName__proxyEndpointName . |
Target |
يتم استخدام إعداد TargetEndpoint كبادئة. مفتاح ذاكرة التخزين المؤقت الذي تمّ وضعه في المقدّمة بالشكل التالي: orgName__envName__applicationName__targetEndpointName . |
Exclusive |
تلقائي: هذا هو المعرّف الأكثر تحديدًا، وبالتالي يمثّل الحد الأدنى من خطر حدوث تعارضات في مساحة التخزين المؤقت. يمكن أن تكون البادئة بأحد الشكلَين التاليَين:
مفتاح ذاكرة التخزين المؤقت الذي تمّ إدراجه في النموذج 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> على اسم غير متوفّر في البيئة التي يتم فيها نشر الخادم الوكيل لواجهة برمجة التطبيقات. |
build |
InvalidTimeout |
وفي حال ضبط العنصر <CacheLookupTimeoutInSeconds> على رقم سالب، سيتعذّر نشر الخادم الوكيل لواجهة برمجة التطبيقات. |
build |
CacheNotFound |
يحدث هذا الخطأ إذا لم يتم إنشاء ذاكرة التخزين المؤقت المحددة المذكورة في رسالة الخطأ على مكون محدد لمعالجة الرسائل. | build |
متغيرات الخطأ
لا ينطبق
مثال على الردّ على الخطأ
لا ينطبق