سياسة رد ذاكرة التخزين المؤقت

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

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

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

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

يمكنك مشاهدة هذا الفيديو للاطّلاع على مقدمة عن سياسة "ذاكرة التخزين المؤقت للردود".

نماذج

ذاكرة التخزين المؤقت لمدة 10 دقائق

يعرض هذا النموذج كيفية الاحتفاظ بالردود المخزّنة مؤقتًا لمدة 10 دقائق.

لنفترض أنّ لديك واجهة برمجة تطبيقات على عنوان URL التالي:

http://{org_name}-test.apigee.net/weather/forecastrss?w=23424778

أنت تستخدم معلمة طلب البحث w كمفتاح ذاكرة تخزين مؤقت. تتحقّق Apigee Edge من قيمة معلَمة طلب البحث w عند تلقّي طلب. إذا كانت قيمة (التي) غير منتهي الصلاحية) كانت الاستجابة موجودة في ذاكرة التخزين المؤقت، فإن رسالة الاستجابة وإعادته إلى العميل الذي أرسل الطلب.

لنفترض الآن أنّ لديك سياسة Responsecache تم ضبطها على النحو التالي.

<ResponseCache name="ResponseCache">
    <CacheKey>
        <KeyFragment ref="request.queryparam.w" />
    </CacheKey>
    <ExpirySettings>
        <TimeoutInSeconds>600</TimeoutInSeconds>
    </ExpirySettings>
</ResponseCache>

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

http://{org_name}-test.apigee.net/weather/forecastrss?w=23424778

تخطّي البحث في ذاكرة التخزين المؤقت

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

يتم تقييم شرط تخطّي ذاكرة التخزين المؤقت (في حال ضبطه) الاختياري في مسار الطلب. إذا تم تقييم الشرط على "true"، فسيتم تخطي البحث عن ذاكرة التخزين المؤقت وتصبح ذاكرة التخزين المؤقت تحديثًا.

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

على سبيل المثال، تخيَّل طلبًا لإحدى واجهات برمجة التطبيقات على عنوان URL التالي:

'http://{org_name}-test.apigee.net/weather/forecastrss?w=23424778' -H "bypass-cache:true"

تخيَّل الآن سياسة Responsecache التالية التي تم ضبطها على هذا الخادم الوكيل. لاحظ أن يتم تعيين حالة تجاوز ذاكرة التخزين المؤقت على "صواب".

<ResponseCache name="ResponseCache">
    <CacheKey>
        <KeyFragment ref="request.queryparam.w" />
    </CacheKey>
    <!-- Explicitly refresh the cached response -->
    <SkipCacheLookup>request.header.bypass-cache = "true"</SkipCacheLookup>
    <ExpirySettings>
        <TimeoutInSeconds>600</TimeoutInSeconds>
    </ExpirySettings>
</ResponseCache>

لمزيد من المعلومات حول الشروط، يُرجى الاطّلاع على متغيّرات التدفق والشروط.

مرجع العنصر

يصف مرجع العنصر عناصر السياسة وسماتها.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ResponseCache async="false" continueOnError="false" enabled="true" name="Response-Cache-1">
    <DisplayName>Response Cache 1</DisplayName>
    <Properties/>
    <CacheKey>
        <Prefix/>
        <KeyFragment ref="request.uri" />
    </CacheKey>
    <Scope>Exclusive</Scope>
    <ExpirySettings>
        <ExpiryDate/>
        <TimeOfDay/>
        <TimeoutInSeconds ref="flow.variable.here">300</TimeoutInSeconds>
    </ExpirySettings>
    <CacheResource>cache_to_use</CacheResource>
    <CacheLookupTimeoutInSeconds/>
    <ExcludeErrorResponse/>
    <SkipCacheLookup/>
    <SkipCachePopulation/>
    <UseAcceptHeader/>
    <UseResponseCacheHeaders/>
</ResponseCache>

&lt;ResponseCache&gt; السمات

<ResponseCache async="false" continueOnError="false" enabled="true" name="Response-Cache-1">

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

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

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

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

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

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

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

خطأ اختياري
enabled

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

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

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

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

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

&lt;DisplayName&gt; عنصر

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

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

لا ينطبق

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

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

&lt;CacheKey&gt; عنصر

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

الحد الأقصى لحجم مفاتيح ذاكرة التخزين المؤقت هو 2 كيلوبايت.

<CacheKey>
    <Prefix>string</Prefix>
    <KeyFragment ref="variable_name" />
    <KeyFragment>literal_string</KeyFragment>
</CacheKey>

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

لا ينطبق

الحضور:

مطلوب

النوع:

لا ينطبق

تنشئ الدالة <CacheKey> اسم كل جزء من البيانات المخزّنة في ذاكرة التخزين المؤقت. وغالبًا ما يتم ضبط المفتاح باستخدام قيمة من عناوين الكيانات أو مَعلمات طلب البحث. في هذه الحالات، قد تجعل سمة ref للعنصر متغيرًا يحتوي على قيمة المفتاح.

في وقت التشغيل، تتم إضافة قيم <KeyFragment> في البداية مع قيمة العنصر <Scope> أو القيمة <Prefix>. على سبيل المثال، النتائج التالية إلى مفتاح ذاكرة التخزين المؤقت UserToken__apiAccessToken__&lt;value_of_client_id&gt;:

<CacheKey>
    <Prefix>UserToken</Prefix>
    <KeyFragment>apiAccessToken</KeyFragment>
    <KeyFragment ref="request.queryparam.client_id" />
</CacheKey>

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

&lt;CacheLookupTimeoutInSeconds&gt; عنصر

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

<CacheLookupTimeoutInSeconds>30</CacheLookupTimeoutInSeconds>

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

30

الحضور:

اختياري

النوع:

عدد صحيح

&lt;CacheResource&gt; عنصر

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

<CacheResource>cache_to_use</CacheResource>

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

لا ينطبق

الحضور:

اختياري

النوع:

سلسلة

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

&lt;CacheKey&gt;/&lt;KeyFragment&gt; عنصر

لتحديد قيمة يجب تضمينها في مفتاح ذاكرة التخزين المؤقت، لإنشاء مساحة اسم للمطابقة الطلبات للردود المخزنة مؤقتًا.

<KeyFragment ref="variable_name"/>
<KeyFragment>literal_string</KeyFragment>

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

لا ينطبق

الحضور:

اختياري

النوع:

لا ينطبق

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

<KeyFragment>apiAccessToken</KeyFragment>
<KeyFragment ref="request.queryparam.client_id" />

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

السمات

السمة النوع تلقائي مطلوب الوصف
المرجع سلسلة لا

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

&lt;CacheKey&gt;/&lt;Prefix&gt; عنصر

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

<Prefix>prefix_string</Prefix>

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

لا ينطبق

الحضور:

اختياري

النوع:

سلسلة

استخدِم هذه القيمة بدلاً من <Scope> عندما تريد تحديد القيمة الخاصة بك. بدلاً من قيمة تعداد تعداد <Scope>. إذا تم تحديدها، يضيف <Prefix> قيمة مفتاح ذاكرة التخزين المؤقت للإدخالات المكتوبة في ذاكرة التخزين المؤقت. حاسمة تلغي قيمة العنصر <Prefix> العنصر <Scope>

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

&lt;ExcludeErrorResponse&gt; عنصر

في الوقت الحالي، يتم بشكل تلقائي تخزين هذه السياسة مؤقتًا مع استجابات HTTP مع أي خيار ممكن رمز الحالة. وهذا يعني أنه يتم تخزين استجابات النجاح والخطأ مؤقتًا. على سبيل المثال، الردود التي تحتوي على يتم تخزين رمزَي الحالة 2xx و 3xx مؤقتًا بشكل تلقائي.

اضبط هذا العنصر على true إذا كنت لا تريد التخزين المؤقت المستهدَف والاستجابات برموز حالة خطأ HTTP؛ سيتم فقط الرد برموز الحالة من 200 إلى 205 مؤقتًا إذا كان هذا العنصر true. هذه هي رموز حالة HTTP الوحيدة التي تحسبها Edge كـ "نجاح" ، ولا يمكنك تغيير هذا الارتباط.

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

ملاحظة: في إصدار مستقبلي (يتم تحديده)، يكون الإعداد التلقائي لهذا إلى "صواب". الاطّلاع على Apigee ملاحظات الإصدار للاطّلاع على التفاصيل.

<ExcludeErrorResponse>true</ExcludeErrorResponse>

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

خطأ

الحضور:

اختياري

النوع:

منطقي

&lt;ExpirySettings&gt; عنصر

تحدِّد هذه السياسة وقت انتهاء صلاحية أحد إدخالات ذاكرة التخزين المؤقت. عند توفّر الخدمة، <TimeoutInSeconds> تلغي كلاً من <TimeOfDay> و<ExpiryDate>.

<ExpirySettings>
  <TimeOfDay ref="time_variable">expiration_time</TimeOfDay>
  <TimeoutInSeconds ref="duration_variable">seconds_until_expiration</TimeoutInSeconds>
  <ExpiryDate ref="date_variable">expiration_date</ExpiryDate>
</ExpirySettings>

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

لا ينطبق

الحضور:

مطلوب

النوع:

لا ينطبق

&lt;ExpirySettings&gt;/&lt;ExpiryDate&gt; عنصر

تحدِّد هذه السياسة التاريخ الذي يجب أن تنتهي فيه صلاحية أحد إدخالات ذاكرة التخزين المؤقت. استخدِم النموذج mm-dd-yyyy. عند توفّر العنصر، شقيق هذا العنصر، <TimeoutInSeconds>، يلغي <ExpiryDate>

<ExpirySettings>
    <ExpiryDate ref="{date_variable}">expiration_date</ExpiryDate>
</ExpirySettings>

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

لا ينطبق

الحضور:

اختياري

النوع:

سلسلة

السمات

<ExpiryDate ref="" />
السمة الوصف تلقائي التواجد في المنزل النوع
المرجع

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

لا ينطبق اختياري سلسلة

&lt;ExpirySettings&gt;/&lt;TimeOfDay&gt; عنصر

الوقت من اليوم الذي ينبغي أن تنتهي فيه صلاحية أحد إدخالات ذاكرة التخزين المؤقت. استخدِم النموذج hh:mm:ss . عند توفّر العنصر، شقيق هذا العنصر، <TimeoutInSeconds>، يلغي <TimeOfDay>

أدخِل الوقت بالتنسيق HH:mm:ss، حيث تمثل HH الساعة بتنسيق 24 ساعة. بالنسبة على سبيل المثال، 14:30:00 لمدة 2:30 بعد الظهر.

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

<ExpirySettings>
    <TimeOfDay ref="time_variable">expiration_time</TimeOfDay>
</ExpirySettings>

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

لا ينطبق

الحضور:

اختياري

النوع:

سلسلة

السمات

السمة الوصف تلقائي التواجد في المنزل النوع
المرجع متغيّر ذو قيمة وقت انتهاء الصلاحية. لا ينطبق اختياري سلسلة

&lt;ExpirySettings&gt;/&lt;TimeoutInSec&gt; عنصر

عدد الثواني التي ستنتهي بعدها صلاحية أحد إدخالات ذاكرة التخزين المؤقت.

&lt;ExpirySettings&gt;/&lt;TimeoutInSeconds&gt; عنصر

عدد الثواني التي ستنتهي بعدها صلاحية أحد إدخالات ذاكرة التخزين المؤقت. عند وجود هذا العنصر، تلغي عنصرَيها الشقيقَين، <TimeOfDay> و<ExpiryDate>.

<ExpirySettings>
    <TimeoutInSeconds ref="duration_variable">seconds_until_expiration</TimeoutInSeconds>
</ExpirySettings>

ملاحظة: أدخِل قيمة مهلة تلقائية لاستخدامها إذا لم تتلقَّ المرجع قيمة من duration_variable

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

لا ينطبق

الحضور:

اختياري

النوع:

سلسلة

السمات

السمة الوصف تلقائي التواجد في المنزل النوع
المرجع متغيّر مع قيمة المهلة.
لا ينطبق
اختياري سلسلة

&lt;Scope&gt; عنصر

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

<Scope>scope_enumeration</Scope>

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

"عرض حصري"

الحضور:

اختياري

النوع:

سلسلة

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

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

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

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

قيمة النطاق الوصف
Global

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

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

Application

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

تتم إضافة مفتاح ذاكرة التخزين المؤقت على الشكل orgName__envName__apiProxyName.

Proxy

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

تتم إضافة مفتاح ذاكرة التخزين المؤقت في النموذج orgName__envName__apiProxyName__deployedRevisionNumber__proxyEndpointName .

Target

يتم استخدام ضبط TargetEndpoint كبادئة.

تمت إضافة مفتاح ذاكرة التخزين المؤقت في النموذج orgName__envName__apiProxyName__deployedRevisionNumber__targetEndpointName .

Exclusive

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

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

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

تمت إضافة مفتاح ذاكرة التخزين المؤقت في النموذج orgName__envName__apiProxyName__deployedRevisionNumber__proxyNameITargetName

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

apifactory__test__weatherapi__16__default__apiAccessToken
.

&lt;SkipCacheLookup&gt; عنصر

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

<SkipCacheLookup>variable_condition_expression</SkipCacheLookup>

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

لا ينطبق

الحضور:

اختياري

النوع:

سلسلة

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

<SkipCacheLookup>request.header.bypass-cache = "true"</SkipCacheLookup>

&lt;SkipCachePopulation&gt; عنصر

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

<SkipCachePopulation>variable_condition_expression</SkipCachePopulation>

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

لا ينطبق

الحضور:

اختياري

النوع:

سلسلة

على سبيل المثال، ما يلي سيتخطى كتابة ذاكرة التخزين المؤقت إذا كان رمز حالة الاستجابة 400 أو أعلى:

<SkipCachePopulation>response.status.code >= 400</SkipCachePopulation>

&lt;UseAcceptHeader&gt; عنصر

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

تستخدم شبكة Edge Accept وAccept-Encoding وAccept-Language. وAccept-Charset تطلب عناوين عند حساب مفتاح ذاكرة التخزين المؤقت. هذا الأسلوب يمنع العميل من الحصول على نوع وسائط لم يطلبه.

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

يمكنك الاطّلاع على ضبط مفتاح ذاكرة تخزين مؤقت لمعرفة المزيد.

<UseAcceptHeader>false</UseAcceptHeader>

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

خطأ

الحضور:

اختياري

النوع:

منطقي

&lt;UseResponseCacheHeaders&gt; عنصر

يتم ضبط القيمة على true لمراعاة عناوين استجابة HTTP عند ضبط "الوقت على مباشر" (TTL) للاستجابة في ذاكرة التخزين المؤقت. عندما يكون هذا صحيحًا، تأخذ شبكة Edge في الاعتبار قيم بعد عناوين الاستجابة التالية، ومقارنة القيم بتلك التي تم تعيينها بواسطة <ExpirySettings> عند تحديد وقت البث المباشر:

  • Cache-Control s-maxage
  • Cache-Control max-age
  • Expires

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

<UseResponseCacheHeaders>false</UseResponseCacheHeaders>

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

خطأ

الحضور:

اختياري

النوع:

منطقي

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

الحد الأقصى للحجم لكل عنصر مخزَّن مؤقتًا هو 256 كيلوبايت. (للحصول على معلومات تفصيلية حول كيفية استخدام Edge ذاكرة التخزين المؤقت، راجع ذاكرة التخزين المؤقت الداخلية).

من خلال عملية الإعداد في سياسة Responsecache، يمكنك السماح لشبكة Edge بتضمين استجابة HTTP في إعداد انتهاء صلاحية إدخال ذاكرة التخزين المؤقت ومفاتيح ذاكرة التخزين المؤقت. يصف هذا القسم إمكانية استخدام ذات عناوين لإدارة انتهاء صلاحية ذاكرة التخزين المؤقت ومفاتيح ذاكرة التخزين المؤقت.

لمزيد من المعلومات حول كيفية تعامل Edge مع عناوين الاستجابة من خلال سياسة Responsecache، يمكنك الاطّلاع على دعم عناوين استجابة HTTP.

ضبط انتهاء صلاحية إدخال ذاكرة التخزين المؤقت

وكما هو الحال مع ملء سياسة ذاكرة التخزين المؤقت، يمكنك ضبط تاريخ انتهاء صلاحية إدخال ذاكرة التخزين المؤقت للاستجابة (وقت نشره) باستخدام العنصر <ExpirySettings> في سياسة Responsecache، يمكنك أيضًا استخدام Edge مراعاة عناوين الاستجابة عندما تكون موجودة.

لاستخدام عناوين الاستجابة، يمكنك ضبط قيمة العنصر <UseResponseCacheHeaders> على صواب. يؤدي هذا الإعداد إلى جعل Edge يفكر في عناوين الاستجابة ويقارنها بمجموعة القيم في <ExpirySettings>، ثم استخدِم أدنى قيمة بينهما. فعندما بالنظر إلى عناوين الاستجابة، تختار Edge القيمة المتاحة كما هو موضح في التالي:

على سبيل المثال، تخيل أنه تم تخزين استجابة مؤقتًا بالقيم التالية:

  • بلا قيمة Cache-Control s-maxage
  • قيمة Cache-Control max-age بقيمة 300
  • تاريخ Expires خلال ثلاثة أيام
  • قيمة TimeoutInSeconds للسمة <ExpirySettings> بقيمة 600.

في هذه الحالة، سيتم استخدام قيمة max-age Cache-Control للسمة TTL لأنها أقل من قيمة <ExpirySettings> ولأن هناك لا قيمة Cache-Control s-maxage (لها الأولوية على max-age).

تهيئة مفتاح ذاكرة التخزين المؤقت

وكما هو الحال مع سياسات ذاكرة التخزين المؤقت ذات الأغراض العامة، مثل سياسة تعبئة ذاكرة التخزين المؤقت، باستخدام تستخدم Responsecache العنصرَين <CacheKey> و<Scope> من أجل تهيئة إنشاء مفتاح ذاكرة التخزين المؤقت لإدخالات ذاكرة التخزين المؤقت. من خلال ResponseCache، يمكنك أيضًا إنشاء مفاتيح ذاكرة التخزين المؤقت أكثر فائدة من خلال إلحاق عناوين اقبل بقيم المفاتيح.

للحصول على معلومات عامة عن ضبط مفاتيح ذاكرة التخزين المؤقت، يُرجى الاطّلاع على العمل باستخدام مفاتيح ذاكرة التخزين المؤقت. بالنسبة معلومات عن استخدام عناوين "قبول"، راجِع <UseAcceptHeader>.

معلومات عن تشفير ذاكرة التخزين المؤقت

Edge for Public Cloud: يتم تشفير ذاكرة التخزين المؤقت فقط في PCI: وتفعيل ميزة HIPAA المؤسسات. يتم ضبط التشفير لتلك المؤسسات أثناء عملية المؤسسة. توفير المتطلبات اللازمة.

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

تتم تعبئة متغيّرات التدفق المحدَّدة مسبقًا التالية عند تنفيذ سياسة Responsecache. لمزيد من المعلومات حول متغيّرات التدفق، اطّلِع على مرجع المتغيرات.

المتغيرات النوع الإذن الوصف
responsecache.{policy_name}.cachename سلسلة قراءة فقط عرض ذاكرة التخزين المؤقت المستخدمة في السياسة
responsecache.{policy_name}.cachekey سلسلة قراءة فقط لعرض المفتاح المستخدَم
responsecache.{policy_name}.cachehit منطقي قراءة فقط صحيح في حال تنفيذ السياسة بنجاح
responsecache.{policy_name}.invalidentry منطقي قراءة فقط صواب إذا كان إدخال ذاكرة التخزين المؤقت غير صالح

رموز الخطأ

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

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

لا ينطبق

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

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

أخطاء النشر

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

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

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

لا ينطبق

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

لا ينطبق

المخطط

يتم تحديد كل نوع سياسة من خلال مخطّط XML (.xsd). يمكنك الرجوع إلى مخططات السياسات المتوفرة على جيت هب.