הדף הזה רלוונטי ל-Apigee ול-Apigee Hybrid.
לעיון במסמכי התיעוד של
Apigee Edge
המדיניות InvalidateCache מגדירה איך לנקות את הערכים שנשמרו במטמון.
המדיניות הזו מיועדת לשימוש במטמון לטווח קצר למטרות כלליות. הוא משמש בשילוב עם המדיניות PopulateCache (לכתיבת רשומות) ועם המדיניות LookupCache (לקריאת רשומות במטמון).
למידע על שמירת תשובות של משאבי קצה עורפי במטמון, אפשר לעיין במאמר בנושא ResponseCache policy.
המדיניות הזו היא מדיניות שניתנת להרחבה, והשימוש בה עשוי להשפיע על העלויות או על הניצול, בהתאם לרישיון שלכם ל-Apigee. למידע על סוגי מדיניות והשלכות השימוש, אפשר לעיין במאמר בנושא סוגי מדיניות.
הפניה לרכיב
בקטעים הבאים מפורטים הרכיבים שאפשר להגדיר במדיניות הזו.
<InvalidateCache async="false" continueOnError="false" enabled="true" name="policy-name"> <DisplayName>Policy Name</DisplayName> <CacheKey> <Prefix>prefix_string</Prefix> <KeyFragment ref="variable_reference"/> <KeyFragment>fragment_string</KeyFragment> </CacheKey> <!-- Omit this element if you're using the included shared cache. --> <CacheResource>cache_to_use</CacheResource> <Scope>scope_enumeration</Scope> <CacheContext> <APIProxyName>application_that_added_the_entry</APIProxyName> <ProxyName>proxy_for_which_data_was_cached</ProxyName> <TargetName>endpoint_for_which_data_was_cached</TargetName> </CacheContext> <PurgeChildEntries>true_to_purge_all_child_entries</PurgeChildEntries> </InvalidateCache>
מאפיינים של <InvalidateCache>
בטבלה הבאה מתוארים מאפיינים שמשותפים לכל רכיבי ההורה של המדיניות:
| מאפיין | תיאור | ברירת מחדל | נוכחות |
|---|---|---|---|
name |
השם הפנימי של המדיניות. הערך של מאפיין אפשר להשתמש ברכיב |
לא רלוונטי | חובה |
continueOnError |
מגדירים את הערך הגדרה ל- |
FALSE | אופציונלי |
enabled |
מגדירים את המדיניות למצב מגדירים את הערך |
TRUE | אופציונלי |
async |
המאפיין הזה הוצא משימוש. |
FALSE | הוצא משימוש |
אלמנט <DisplayName>
משתמשים בו בנוסף למאפיין name כדי לתת למדיניות שם אחר בשפה טבעית, לסימון המדיניות בכלי לעריכת פרוקסי בממשק המשתמש לניהול.
<DisplayName>Policy Display Name</DisplayName>
| ברירת מחדל |
לא רלוונטי אם לא מציינים את הרכיב הזה, המערכת משתמשת בערך של המאפיין |
|---|---|
| נוכחות | אופציונלי |
| סוג | String |
אלמנט <CacheContext>/<APIProxyName>
מציין את שם האפליקציה שהוסיפה את רשומת המטמון.
<APIProxyName>application_that_added_the_entry</APIProxyName>
מאפיינים
| מאפיין | תיאור | ברירת מחדל | נוכחות | סוג |
|---|---|---|---|---|
| ref | משתנה עם שם האפליקציה. | לא רלוונטי | אופציונלי | מחרוזת |
רכיב <CacheContext>
המאפיין הזה מציין איך ליצור מפתח מטמון כשלא מצוין ערך של רכיב Prefix, או כדי לנקות רשומות במטמון שנוספו על ידי proxy ל-API אחר.
<CacheContext> <APIProxyName ref="variable_name">application_that_added_the_entry</APIProxyName> <TargetName ref="variable_name">endpoint_for_which_data_was_cached</TargetName> <ProxyName ref="variable_name">proxy_for_which_data_was_cached</ProxyName> </CacheContext>
משמש ליצירת CacheKey. הערכים של APIProxyName, ProxyName ו-TargetName הם חובה כשלא משתמשים בקידומת CacheKey (כלומר, קידומת בהתאמה אישית) כדי לנקות רשומות במטמון שנוספו על ידי שרת proxy אחר של API.
אלמנט <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>. מידע נוסף זמין במאמר עבודה עם מפתחות מטמון.
רכיב <CacheResource>
מציין את המטמון שבו ההודעות צריכות להיות מאוחסנות.
אם המדיניות הזו (והמדיניות התואמת PopulateCache ו-LookupCache) משתמשת במטמון המשותף הכלול, צריך להשמיט את הרכיב הזה לחלוטין.
<CacheResource>cache_to_use</CacheResource>
|
ברירת מחדל: |
לא רלוונטי |
|
נוכחות: |
אופציונלי |
|
סוג: |
String |
מידע נוסף על הגדרת מטמונים זמין במאמר שמירה במטמון לשימוש כללי.
אלמנט <CacheKey>/<KeyFragment>
מציין ערך שצריך לכלול במפתח המטמון. מציינים משתנה לביטול ההפניה באמצעות המאפיין ref, או ערך קבוע.
<KeyFragment ref="variable_name"/> <KeyFragment>literal_string</KeyFragment>
|
ברירת מחדל: |
לא רלוונטי |
|
נוכחות: |
אופציונלי |
|
סוג: |
לא רלוונטי |
בזמן הריצה, Apigee יוצר את מפתח המטמון על ידי הוספת הערך שמתקבל מהרכיב <Scope> או מהרכיב <Prefix>, לשרשור של הערכים שפוענחו של כל אחד מהרכיבים <KeyFragment>.
מידע נוסף זמין במאמר בנושא עבודה עם מפתחות מטמון.
מאפיינים
| מאפיין | תיאור | ברירת מחדל | נוכחות | סוג |
|---|---|---|---|---|
| ref | המשתנה שממנו יתקבל הערך. אין להשתמש במאפיין הזה אם הרכיב הזה מכיל ערך מילולי. | לא רלוונטי | אופציונלי | מחרוזת |
אלמנט <CacheKey>/<Prefix>
מציינת ערך לשימוש כקידומת של מפתח מטמון.
<Prefix>prefix_string</Prefix>
|
ברירת מחדל: |
לא רלוונטי |
|
נוכחות: |
אופציונלי |
|
סוג: |
String |
רכיב <Prefix> מבטל את ההשפעה של כל רכיב <Scope>.
בזמן הריצה, Apigee יוצר את מפתח המטמון על ידי הוספת הערך שמתקבל מהרכיב <Scope> או מהרכיב <Prefix>, לשרשור של הערכים שפוענחו של כל אחד מהרכיבים <KeyFragment>.
מידע נוסף זמין במאמר בנושא עבודה עם מפתחות מטמון.
אלמנט <CacheContext>/<ProxyName>
ההגדרה הזו מציינת את שם ה-proxy שעבורו הנתונים נשמרו במטמון.
<ProxyName>proxy_for_which_data_was_cached</ProxyName>
|
ברירת מחדל: |
לא רלוונטי |
|
נוכחות: |
אופציונלי |
|
סוג: |
String |
מאפיינים
| מאפיין | תיאור | ברירת מחדל | נוכחות | סוג |
|---|---|---|---|---|
| ref | המשתנה שממנו יתקבל הערך. אין להשתמש במאפיין הזה אם הרכיב הזה מכיל ערך מילולי. | לא רלוונטי | אופציונלי | מחרוזת |
רכיב <PurgeChildEntries>
true כדי למחוק רשומות במטמון שמשתמשות באותו ערך <Prefix>
שהוגדר למדיניות הזו, גם אם מופעים של המדיניות PopulateCache
שנטענו הפריטים האלה למטמון השתמשו גם ברכיבי <KeyFragment> שונים.
ביטול התוקף של כל רשומות המטמון עם אותו ערך תחילית מאפשר לכם למחוק כמה רשומות קשורות בבת אחת.
<PurgeChildEntries>true_to_purge_child_entries</PurgeChildEntries>
|
ברירת מחדל: |
FALSE |
|
נוכחות: |
אופציונלי |
|
סוג: |
בוליאני |
אלמנט <Scope>
ספירה שמשמשת ליצירת תחילית למפתח מטמון כשלא מסופק רכיב <Prefix> ברכיב <CacheKey>.
<Scope>scope_enumeration</Scope>
|
ברירת מחדל: |
"Exclusive" (בלעדי) |
|
נוכחות: |
אופציונלי |
|
סוג: |
String |
ההגדרה <Scope> קובעת מפתח מטמון שמוסף לפני הערך של <Scope>. לדוגמה, מפתח מטמון יקבל את הצורה הבאה כשההיקף מוגדר ל-Exclusive:
orgName__envName__applicationName__proxy|TargetName__ [ serializedCacheKey ].
אם רכיב <Prefix> מופיע ברכיב <CacheKey>, הוא מחליף את הערך של רכיב <Scope>. בהמשך מוצגים הערכים התקינים של רכיב <Scope>.
מידע נוסף זמין במאמר עבודה עם מפתחות מטמון.
ערכים קבילים
| ערך ההיקף | תיאור |
|---|---|
Global |
מפתח המטמון משותף לכל שרתי ה-API הפרוקסי שנפרסו בסביבה. מפתח המטמון מתווסף בתחילת השורה בפורמט orgName __ envName __. אם מגדירים רשומה |
Application |
שם ה-proxy ל-API משמש כקידומת. מפתח המטמון מופיע בתחילת השם בפורמט orgName__envName__applicationName. |
Proxy |
ההגדרה ProxyEndpoint משמשת כקידומת. מפתח המטמון מתווסף בתחילת השורה בפורמט orgName__envName__applicationName__proxyEndpointName . |
Target |
ההגדרה TargetEndpoint משמשת כקידומת. מפתח המטמון מופיע בתחילת השורה בפורמט הבא: orgName__envName__applicationName__targetEndpointName . |
Exclusive |
ברירת מחדל. זהו הערך הספציפי ביותר, ולכן הסיכון להתנגשויות במרחב השמות במטמון נתון הוא מינימלי. התחילית יכולה להיות אחת משתי צורות:
מפתח המטמון מופיע בתחילת השורה בפורמט orgName__envName__applicationName__proxyNameITargetName לדוגמה, המחרוזת המלאה יכולה להיראות כך: apifactory__test__weatherapi__default__apiAccessToken |
אלמנט <CacheContext>/<TargetName>
מציין את השם של נקודת הקצה של היעד שעבורה הנתונים נשמרו במטמון.
<TargetName>endpoint_for_which_data_was_cached</TargetName>
|
ברירת מחדל: |
לא רלוונטי |
|
נוכחות: |
אופציונלי |
|
סוג: |
String |
מאפיינים
| מאפיין | תיאור | ברירת מחדל | נוכחות | סוג |
|---|---|---|---|---|
| ref | המשתנה שממנו יתקבל הערך. אין להשתמש במאפיין הזה אם הרכיב הזה מכיל ערך מילולי. | לא רלוונטי | אופציונלי | מחרוזת |
הערות שימוש
שמירת נתונים במטמון לשימוש כללי באמצעות המדיניות PopulateCache, המדיניות LookupCache והמדיניות InvalidateCache משתמשת במטמון שאתם מגדירים או במטמון משותף שכלול כברירת מחדל. ברוב המקרים, המטמון המשותף הבסיסי אמור לענות על הצרכים שלכם. כדי להשתמש במטמון הזה,
פשוט משמיטים את הרכיב <CacheResource>.
מידע נוסף על הגדרת מטמונים זמין במאמר שמירה במטמון לשימוש כללי. מידע נוסף על מאגר הנתונים הבסיסי זמין במאמר Cache internals.
קודי שגיאה
בקטע הזה מתוארות הודעות השגיאה ומשתני הזרימה שמוגדרים כשמדיניות כזו מפעילה שגיאה. חשוב להכיר את המידע הזה אם מפתחים כללי תקלות לשרת proxy. מידע נוסף זמין במאמרים מה שצריך לדעת על שגיאות מדיניות וטיפול בתקלות.
קידומת של קוד שגיאה
לא רלוונטי
שגיאות זמן ריצה
המדיניות הזו לא יוצרת שגיאות בזמן ריצה.
שגיאות בהטמעה
השגיאות האלה יכולות להתרחש כשפורסים שרת proxy שמכיל את המדיניות הזו.
| שם השגיאה | מטרה | תיקון |
|---|---|---|
InvalidCacheResourceReference |
השגיאה הזו מתרחשת אם הרכיב <CacheResource> במדיניות InvalidateCache מוגדר לשם שלא קיים בסביבה שבה מתבצעת הפריסה של proxy ל-API. |
build |
CacheNotFound |
השגיאה הזו מתרחשת אם מטמון ספציפי שמוזכר בהודעת השגיאה לא נוצר ברכיב ספציפי של מעבד ההודעות. | build |
משתני תקלות
לא רלוונטי
דוגמה לתגובת שגיאה
לא רלוונטי