سياسة تعبئة ذاكرة التخزين المؤقت

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

تحدد هذه السياسة طريقة كتابة القيم المخزّنة مؤقتًا في وقت التشغيل.

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

لتخزين استجابات موارد الخلفية مؤقتًا، يُرجى الاطّلاع على سياسة ذاكرة التخزين المؤقت للردود.

مرجع العنصر

في ما يلي قائمة بالعناصر التي يمكنك ضبطها وفقًا لهذه السياسة.

<PopulateCache async="false" continueOnError="false" enabled="true" name="Populate-Cache-1">
    <DisplayName>Populate Cache 1</DisplayName>
    <Properties/>
    <CacheKey>
        <Prefix/>
        <KeyFragment ref=""/>
    </CacheKey>
    <!-- Omit this element if you're using the included shared cache. -->
    <CacheResource/>
    <Scope>Exclusive</Scope>
    <ExpirySettings>
        <TimeoutInSeconds>300</TimeoutInSeconds>
    </ExpirySettings>
    <Source>flowVar</Source>
</PopulateCache>

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

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

السمة الوصف تلقائي التواجد في المنزل
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> تنشئ اسم كل جزء من البيانات المخزنة في الدالة ذاكرة التخزين المؤقت.

في وقت التشغيل، تتم إضافة قيم <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;CacheResource&gt; عنصر

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

احذف هذا العنصر تمامًا إذا كانت هذه السياسة (وCheckCache المقابل الخاص بك سياسات Badatecache) تستخدم ذاكرة التخزين المؤقت المشتركة المضمنة.

<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;ExpirySettings&gt; عنصر

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

<ExpirySettings>
  <!-- use exactly one of the following child elements -->
  <TimeoutInSeconds ref="duration_variable">seconds_until_expiration</TimeoutInSeconds>
  <ExpiryDate ref="date_variable">expiration_date</ExpiryDate>
  <TimeOfDay ref="time_variable">expiration_time</TimeOfDay>
</ExpirySettings>

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

لا ينطبق

الحضور:

مطلوب

النوع:

لا ينطبق

العناصر الفرعية لـ <ExpirySettings>

يمكنك استخدام عنصر فرعي واحد فقط. يقدم الجدول التالي وصفًا للعناصر الفرعية الخاصة بـ <ExpirySettings>:

عنصر ثانوي الوصف
<TimeoutInSeconds>

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

<ExpirySettings>
  <TimeoutInSeconds ref="var-containing-duration">expiry</TimeoutInSeconds>
</ExpirySettings>

يحل هذا العنصر محل عنصر TimeoutInSec الذي تم إيقافه نهائيًا الآن.

<ExpiryDate>

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

<ExpirySettings>
  <ExpiryDate ref="var-containing-date">expiry</ExpiryDate>
</ExpirySettings>

إذا كان التاريخ المحدّد في الماضي، ستطبّق السياسة الحد الأقصى لوقت البقاء إلى الإدخال المخزنة مؤقتًا. ويبلغ الحدّ الأقصى 30 يومًا.

<TimeOfDay>

تحدِّد هذه السياسة الوقت من اليوم الذي يجب أن تنتهي فيه صلاحية أحد إدخالات ذاكرة التخزين المؤقت. حدِّد سلسلة بالنموذج HH:mm:ss، حيث تمثل HH بتنسيق 24 ساعة، في المنطقة الزمنية للتوقيت العالمي المتفق عليه. على سبيل المثال، 14:30:00 يعني 2:30 بعد الظهر.

<ExpirySettings>
  <TimeOfDay ref="var-containing-time">expiry</TimeOfDay>
</ExpirySettings>

يجب تحديد عنصر واحد فقط من العناصر الفرعية المحتملة. إذا حددت عناصر متعددة، يكون ترتيب الأولوية هو:TimeoutInSeconds، ExpiryDate، TimeOfDay

مع كل عنصر من العناصر الثانوية أعلاه لـ <ExpirySettings>، إذا حددت السمة الاختيارية ref على العنصر الفرعي، فستطبّق السياسة لاسترداد قيمة انتهاء الصلاحية من متغير السياق المسمى. إذا لم يتم تحديد المتغير، تستخدم السياسة قيمة النص الحرفي للعنصر الفرعي.

&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;Source&gt; عنصر

تحدّد هذه السمة المتغيّر الذي يجب كتابة قيمته إلى ذاكرة التخزين المؤقت.

<Source>source_variable</Source>

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

لا ينطبق

الحضور:

مطلوب

النوع:

سلسلة

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

استخدِم هذه السياسة للتخزين المؤقت للأغراض العامة. في وقت التشغيل، تكتب سياسة <PopulateCache> البيانات من المتغيّر الذي حدّدته في العنصر <Source> إلى ذاكرة التخزين المؤقت التي حددتها في العنصر <CacheResource> يمكنك استخدام <CacheKey> و<Scope> و<Prefix> لتحديد مفتاح قمت يمكنك استخدامها من سياسة <LookupCache> لاسترداد القيمة. يمكنك استخدام <ExpirySettings> المطلوب ضبطه عند انتهاء صلاحية القيمة المخزّنة مؤقتًا.

يُستخدم التخزين المؤقت للأغراض العامة من خلال سياسة Populatecache وسياسة Lookupcache وسياسة Spamatecache. ذاكرة تخزين مؤقت تتم إعدادها أو ذاكرة تخزين مؤقت مشتركة يتم تضمينها بشكل افتراضي. في معظم الحالات، ذاكرة التخزين المؤقت المشتركة الأساسية احتياجاتك. لاستخدام ذاكرة التخزين المؤقت هذه، احذف العنصر <CacheResource>.

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

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

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

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

رموز الخطأ

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

أخطاء بيئة التشغيل

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

رمز الخطأ حالة HTTP يحدث عند
policies.populatecache.EntryCannotBeCached 500 لا يمكن تخزين أحد الإدخالات مؤقتًا. كائن الرسالة الذي يتم تخزينه مؤقتًا ليس مثيلاً فئة قابلة للتسلسل.

أخطاء النشر

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

اسم الخطأ السبب إصلاح
InvalidCacheResourceReference يحدث هذا الخطأ في حال ضبط العنصر <CacheResource> في سياسة Populatecache على اسم غير موجود في البيئة التي يتم نشر الخادم الوكيل لواجهة برمجة التطبيقات فيها.
CacheNotFound ذاكرة التخزين المؤقت المحدّدة في العنصر <CacheResource> الموجودة.

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

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

المتغيرات المكان مثال
fault.name="fault_name" fault_name هو اسم الخطأ، كما هو موضَّح في جدول أخطاء وقت التشغيل أعلاه. اسم الخطأ هو الجزء الأخير من رمز الخطأ. fault.name = "EntryCannotBeCached"
populatecache.policy_name.failed policy_name هو الاسم الذي يحدّده المستخدم للسياسة التي أدّت إلى حدوث الخطأ. populatecache.POP-CACHE-1.failed = true

مثال على استجابة الخطأ

{
  "fault": {
    "faultstring": "[entry] can not be cached. Only serializable entries are cached.",
    "detail": {
      "errorcode": "steps.populatecache.EntryCannotBeCached"
    }
  }
}

مثال على قاعدة الخطأ

<FaultRule name="Populate Cache Fault">
    <Step>
        <Name>AM-EntryCannotBeCached</Name>
        <Condition>(fault.name Matches "EntryCannotBeCached") </Condition>
    </Step>
    <Condition>(populatecache.POP-CACHE-1.failed = true) </Condition>
</FaultRule>