تخزين إلى ذاكرة التخزين المؤقت

ينطبق على: جميع مستويات إدارة واجهة برمجة التطبيقات

cache-storeيقوم النهج بالتخزين المؤقت للاستجابات وفقًا لإعدادات ذاكرة التخزين المؤقت المحددة. يمكن تطبيق هذا النهج في الحالات التي يظل فيها محتوى الاستجابة ثابتًا خلال فترة من الوقت. يقلل التخزين المؤقت للاستجابة من النطاق الترددي ومتطلبات المعالجة المفروضة على خادم الويب الخلفي ويقلل من زمن الوصول الذي يراه مستهلكو واجهة برمجة التطبيقات.

إشعار

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

هام

تتسم ذاكرة التخزين المؤقت المدمجة بأنها متغيرة وتتم مشاركتها من قِبل كافة الوحدات الموجودة في نفس المنطقة داخل نفس خدمة API Management.

إشعار

تعيين عناصر النهج والعناصر التابعة بالترتيب الوارد في بيان النهج. لمساعدتك في تكوين هذا النهج، يتيح المدخل محررًا موجهًا يستند إلى النموذج. تعلم كيفية إعداد نُهج APIM أو تعديلها.

نهج السياسة

<cache-store duration="seconds" cache-response="true | false" />

سمات

السمة ‏‏الوصف مطلوبة افتراضي
المدة مدة بقاء الإدخالات المخزنة مؤقتًا، محددة بالثواني. يتم السماح بتعبيرات النهج. ‏‏نعم‬ غير متوفر
استجابة ذاكرة التخزين المؤقت قم بتعيين إلى true لتخزين استجابة HTTP الحالية مؤقتا. إذا تم حذف السمة، يتم تخزين استجابات HTTP فقط مع رمز 200 OK الحالة مؤقتا. يتم السماح بتعبيرات النهج. لا false

الاستخدام

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

  • تخزن APIM الاستجابات لطلبات HTTP GET مؤقتا فقط.
  • يمكن استخدام هذا النهج مرة واحدة فقط في قسم النهج.

الأمثلة

مثال مع نهج البحث عن ذاكرة التخزين المؤقت المقابلة

<policies>
    <inbound>
        <base />
        <cache-lookup vary-by-developer="false" vary-by-developer-groups="false" downstream-caching-type="none" must-revalidate="true" caching-type="internal" >
            <vary-by-query-parameter>version</vary-by-query-parameter>
        </cache-lookup>
    </inbound>
    <outbound>
        <cache-store duration="seconds" />
        <base />
    </outbound>
</policies>

مثال استخدام تعبيرات النهج

يبين هذا المثال كيفية تكوين مدة التخزين المؤقت لاستجابة APIM التي تطابق التخزين المؤقت للاستجابة لخدمة الواجهة الخلفية كما هو محدد بواسطة التوجيه Cache-Control للخدمة المدعومة.

<!-- The following cache policy snippets demonstrate how to control API Management response cache duration with Cache-Control headers sent by the backend service. -->

<!-- Copy this snippet into the inbound section -->
<cache-lookup vary-by-developer="false" vary-by-developer-groups="false" downstream-caching-type="public" must-revalidate="true" >
  <vary-by-header>Accept</vary-by-header>
  <vary-by-header>Accept-Charset</vary-by-header>
</cache-lookup>

<!-- Copy this snippet into the outbound section. Note that cache duration is set to the max-age value provided in the Cache-Control header received from the backend service or to the default value of 5 min if none is found  -->
<cache-store duration="@{
    var header = context.Response.Headers.GetValueOrDefault("Cache-Control","");
    var maxAge = Regex.Match(header, @"max-age=(?<maxAge>\d+)").Groups["maxAge"]?.Value;
    return (!string.IsNullOrEmpty(maxAge))?int.Parse(maxAge):300;
  }"
 />

لمزيد من المعلومات، راجع Policy expressions و Context variable.

لمزيد من المعلومات حول العمل مع النُهج، راجع: