أنت تعرض مستندات Apigee Edge.
انتقل إلى
مستندات Apigee X. معلومات
عند استخدام سياسات ذاكرة التخزين المؤقت، يمكنك التأكُّد من تفرد مفاتيح القيمة المخزّنة مؤقتًا من خلال ضبط ذاكرة التخزين المؤقت. المفاتيح. يمنحك مفتاح ذاكرة التخزين المؤقت، إلى جانب القيم الأخرى التي يمكنك تهيئتها، طريقة موثوقة للخروج نفس البيانات التي تضعها. يمكنك استخدام مفاتيح ذاكرة التخزين المؤقت مع سياسة تعبئة ذاكرة التخزين المؤقت وسياسة Lookupcache وسياسة Spamatecache ذاكرة التخزين المؤقت للردود
قيم عناصر التهيئة --
<CacheKey>
/<KeyFragment>
و<Scope>
و
<Prefix>
-- يتم تجميعها لإنشاء معرّف مرتبط بـ
القيمة التي تضعها في ذاكرة التخزين المؤقت. ويمكنك استخدام هذه الإعدادات نفسها لاسترداد القيمة.
باستخدام عناصر إعداد سياسة ذاكرة التخزين المؤقت التالية، يمكنك إنشاء مفتاح ذاكرة تخزين مؤقت:
عنصر إعداد ذاكرة التخزين المؤقت | الوصف |
---|---|
<CacheKey> / <KeyFragment> |
استخدام <CacheKey> عناصر <KeyFragment> معًا من أجل
يحدد معرفًا فريدًا لإدخالات ذاكرة التخزين المؤقت. يمكن أن تكون قيم KeyFragment قيمًا حرفية ثابتة أو
المجموعة من المتغيرات. |
<Scope> أو <Prefix> |
يمكنك استخدام العنصرَين <Scope> أو <Prefix> لإضافة المزيد
مساحة الاسم بالكامل. تعداد <Scope> قائمة بالقيم المحددة مسبقًا.
العنصر <Prefix> يلغي <Scope> باستخدام قيمة
من اختيارك |
يتم تجميع هذه القيم بالصيغة التالية، مع <Scope>
أو
قيم <Prefix>
مفصولة عن قيم KeyFragment بشُرط سفلية مزدوجة.
يتم أيضًا فصل قيم KeyFragment المتعددة بشرطات سفلية مزدوجة.
النطاق | prefix__keyfragment[__keyfragment]
من خلال ذاكرة التخزين المؤقت للردود سياسة يمكنك اختياريًا إلحاق مفتاح ذاكرة التخزين المؤقت هذا بقيم من الإجابة قبول .
استخدام <cacheKey>
يضبط العنصر <CacheKey>
طريقة إنشاء Edge لمعرّف فريد.
(مفتاح) لكل إدخال في ذاكرة التخزين المؤقت يتم إنشاؤه. عندما يسترد Edge القيمة المخزنة مؤقتًا، فإنه يستخدم ذاكرة التخزين المؤقت
لتحديد القيمة الصحيحة. في سياسة Responsecache، تحدد إحدى الإعدادات المفتاح
لكلٍ من التخزين المؤقت والاسترجاع. في السياستين Populatecache وlookupcache، يجب أن
على عناصر <CacheKey>
متطابقة لضمان استرداد القيمة من
ذاكرة التخزين المؤقت مع القيمة الموضوعة هناك.
يمكن أن يشمل العنصر <CacheKey>
عدة عناصر
<KeyFragment>
من العناصر. في وقت التشغيل، القيم المحددة بواسطة
يتم ربط عناصر <KeyFragment>
مع شَرطتين سفلية تفصل بينهما في
يشكل جزءًا من مفتاح ذاكرة التخزين المؤقت.
على سبيل المثال، تنشئ الإعدادات التالية قيمة hello__world
للاستخدام.
في مفتاح ذاكرة التخزين المؤقت:
<CacheKey> <KeyFragment>hello</KeyFragment> <KeyFragment>world</KeyFragment> <CacheKey>
يمكنك أيضًا استخدام قيم متغير في مفتاح ذاكرة التخزين المؤقت من خلال الإشارة إلى المتغير في
عنصر <KeyFragment>
، كما هو موضّح هنا:
<KeyFragment ref="variable_name"/>
على سبيل المثال، لجعل قيمة مفتاح ذاكرة التخزين المؤقت تتضمن نوع المحتوى لرسالة الطلب، عليك القيام بما يلي:
<KeyFragment ref="request.header.Content-Type"/>
في الإعدادات التالية، يحتوي المتغيّر request.header.Content-Type
على
القيمة application/json
.
<CacheKey> <KeyFragment>apiAccessToken</KeyFragment> <KeyFragment ref="request.header.Content-Type" /> <KeyFragment>bar</KeyFragment> </CacheKey>
تؤدي هذه النتيجة إلى انتهاء مفتاح ذاكرة تخزين مؤقت بـ apiAccessToken__application/json__bar
.
للحصول على قائمة بالمتغيّرات التي يمكنك استخدامها، اطّلِع على مرجع المتغيّرات.
مفاتيح ذاكرة التخزين المؤقت الناتجة من طلب البحث المَعلمات
استخدام متغيرات مثل request.queryparam.<queryparam_name> وrequest.querystring، يمكنك تهيئة مفتاح ذاكرة تخزين مؤقت بحيث يتضمن المفتاح أجزاءً من سلسلة استعلام الطلب. بالنسبة مثال، يستخدم عنوان URL التالي معاملَي طلب بحث -- param1 وparam2 -- يمكنك استخدامهما في مفتاح ذاكرة التخزين المؤقت:
http://myaccount.apigee.net/mydata?param1=value1¶m2=value2
يمكن أن يدمج العنصر <CacheKey>
هذه القيم من خلال عملية إعداد.
مثل ما يلي:
<CacheKey> <KeyFragment ref="request.queryparam.param1" /> <KeyFragment ref="request.queryparam.param2" /> <CacheKey>
في وقت التشغيل، سيتضمن مفتاح ذاكرة التخزين المؤقت قيم المعلمة تسلسلاً، كما في التالي:
other_key_parts__value1__value2
ضع في اعتبارك أنه عند استخدام المتغيرات لإدراج قيم من المعلمات، ستكون القيم
مرتَّبة بالترتيب المقترح في ترتيب عنصر <KeyFragment>
. كذلك،
لاحظ أن Edge سيستخدم فقط تلك القيم التي تشير إليها باستخدام
<KeyFragment>
. إذا اختلفت قوائم مَعلمات طلب البحث،
عن الاختلافات في مفتاح ذاكرة التخزين المؤقت.
البديل هو استخدام متغير request.querystring، الذي يُدرج السلسلة الكاملة
المعاملات حرفيًا كجزء من مفتاح ذاكرة التخزين المؤقت. ضع في اعتبارك أنه في حين أن هذه الطريقة تحسب
جميع المعلمات، إذا اختلف ترتيب المعاملات من طلب إلى آخر،
مختلفًا تمامًا. بعبارة أخرى، param1=value1¶m2=value2
ولا تؤدّي param2=value2¶m1=value1
إلى قيمة مفتاح ذاكرة التخزين المؤقت نفسها.
للحصول على قائمة بالمتغيّرات التي يمكنك استخدامها، اطّلِع على مرجع المتغيّرات.
استخدام <النطاق> و<Prefix>
يوفر العنصران <Scope>
و<Prefix>
طريقة
زيادة المفتاح ببادئة مساحة اسم. تتم إضافة القيم التي تمثلها في بداية ذاكرة التخزين المؤقت
المفتاح.
ويتم استخدام العنصر <Scope>
بشكل تلقائي. وهو عبارة عن تعداد تمثل
وتتراوح من واسع إلى ضيق، مع الأضيق كإعداد افتراضي. تُستخدم هذه القيمة الافتراضية ما لم
تحدد قيمة أخرى أو تحدد قيمة العنصر <Prefix>
. يمكنك
إلغاء قيمة <Scope>
باستخدام عنصر <Prefix>
لذا حدد قيمة مخصصة لتباعد الأسماء.
على سبيل المثال، القيمة <Scope>
هي "عامّة". - أوسع نطاق -- يمثل
اسم المؤسسة والبيئة. لذلك إذا تم نشر الوكيل في مؤسسة تسمى
"mycompany" وبيئة تسمى "prod"، فإن القيمة المسبقة الناتجة ستكون
التالي:
الإعداد | النتيجة |
---|---|
<Scope>Global</Scope> |
mycompany__prod__ . |
إذا كنت تستخدم النطاق العمومي مع مفتاح ذاكرة التخزين المؤقت المحدد أعلاه، فإن النتيجة هي التالي:
الإعداد | النتيجة |
---|---|
<Scope>Global</Scope> <CacheKey> <KeyFragment>hello</KeyFragment> <KeyFragment>world</KeyFragment> <CacheKey> |
mycompany__prod__hello__world . |
كما هو موضح في سياسة Lookupcache، يمكن للنطاق لزيادة الخصوصية من "عالمية" إلى "حصرية". النطاق الحصري هو الأكثر وبالتالي فهي تمثل الحد الأدنى من خطر حدوث تعارضات مساحة الاسم داخل ذاكرة تخزين مؤقت معينة. يسبق كل إدخال في ذاكرة التخزين المؤقت بنطاق "حصري" النموذج التالي:
orgName__envName__apiProxyName__deployedRevisionNumber__proxy|TargetName__[serializedCacheKey]
على سبيل المثال، مفتاح ذاكرة تخزين مؤقت تم إنشاؤه باستخدام القيمة "الحصرية" لـ <Scope>
على النحو التالي:
apifactory__test__weatherapi__16__default__apiAccessToken