אתם צופים במסמכי העזרה של Apigee Edge.
כניסה למסמכי העזרה של Apigee X. info
הגדרת האופן שבו צריך לאחזר ערכים ששמורים במטמון בזמן הריצה.
המדיניות הזו מיועדת לשימוש במטמון לטווח קצר למטרות כלליות. הוא משמש בשילוב עם מדיניות האכלוס של המטמון (לכתיבת רשומות) ועם מדיניות ביטול התוקף של המטמון (לביטול התוקף של רשומות).
למידע נוסף על שמירת תשובות של משאבי קצה במטמון, קראו את המדיניות בנושא מטמון תשובות.
הפניה לרכיב
בהמשך מפורטים הרכיבים שאפשר להגדיר במדיניות הזו.
<LookupCache async="false" continueOnError="false" enabled="true" name="Lookup-Cache-1"> <DisplayName>Lookup Cache 1</DisplayName> <Properties/> <CacheKey> <Prefix/> <KeyFragment ref=""/> </CacheKey> <!-- Omit this element if you're using the included shared cache. --> <CacheResource/> <CacheLookupTimeoutInSeconds/> <Scope>Exclusive</Scope> <AssignTo>flowVar</AssignTo> </LookupCache>
מטמון משותף כלול כברירת מחדל. כדי להשתמש במטמון המשותף, צריך להשמיט את הרכיב <CacheResource>
בהגדרת המדיניות הזו.
מידע נוסף על מאגר הנתונים הבסיסי זמין במאמר המבנה הפנימי של המטמון. מידע נוסף על הגדרת מטמון זמין במאמר יצירה ועריכה של מטמון סביבה.
מאפייני <LookupCache>
בטבלה הבאה מתוארים מאפיינים שמשותפים לכל רכיבי ההורה של המדיניות:
מאפיין | תיאור | ברירת מחדל | נוכחות |
---|---|---|---|
name |
השם הפנימי של המדיניות. הערך של המאפיין אפשר להשתמש ברכיב |
לא רלוונטי | חובה |
continueOnError |
צריך להגדיר את הערך יש להגדיר ל- |
false | אופציונלי |
enabled |
צריך להגדיר את הערך צריך להגדיר את הערך |
true | אופציונלי |
async |
המאפיין הזה הוצא משימוש. |
false | הוצא משימוש |
<DisplayName> רכיב
צריך להשתמש בנוסף למאפיין name
כדי להוסיף תווית למדיניות
עורך proxy של ממשק משתמש לניהול עם שם אחר בשפה טבעית.
<DisplayName>Policy Display Name</DisplayName>
ברירת מחדל |
לא רלוונטי אם משמיטים את הרכיב הזה, הערך של המאפיין |
---|---|
נוכחות | אופציונלי |
סוג | מחרוזת |
אלמנט <AssignTo>
מציין את המשתנה שאליו הוקצה רשומת המטמון אחרי שהיא אוחזר מהמטמון. צריך להיות אפשרות לכתוב במשתנה. אם החיפוש במטמון לא מאחזר ערך, המשתנה לא יוגדר.
<AssignTo>variable_to_receive_cached_value</AssignTo>
ברירת מחדל: |
לא רלוונטי |
נוכחות: |
חובה |
סוג: |
מחרוזת |
האלמנט <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>
. מידע נוסף זמין במאמר עבודה עם מפתחות מטמון.
האלמנט <CacheLookupTimeoutInSeconds>
קובע את מספר השניות שאחריהן חיפוש לא מוצלח במטמון ייחשב כחוסר הימצאות במטמון. במקרה כזה, התהליך ימשיך לאורך הנתיב של חוסר הימצאות במטמון.
<CacheLookupTimeoutInSeconds>30</CacheLookupTimeoutInSeconds>
ברירת מחדל: |
30 |
נוכחות: |
אופציונלי |
סוג: |
מספר שלם |
האלמנט<CacheResource>
מציין את המטמון שבו צריך לאחסן את ההודעות.
מומלץ להשמיט את האלמנט הזה לגמרי אם המדיניות הזו (והמדיניות התואמת של PopulateCache ו-InvalidateCache) משתמשות במטמון המשותף הכלול.
<CacheResource>cache_to_use</CacheResource>
ברירת מחדל: |
לא רלוונטי |
נוכחות: |
אופציונלי |
סוג: |
מחרוזת |
מידע נוסף על הגדרת מטמון זמין במאמר יצירה ועריכה של מטמון בסביבה.
אלמנט <CacheKey>/<KeyFragment>
הערך שצריך לכלול במפתח המטמון, כדי ליצור מרחב שמות להתאמת בקשות לתשובות שנשמרו במטמון.
<KeyFragment ref="variable_name"/> <KeyFragment>literal_string</KeyFragment>
ברירת מחדל: |
לא רלוונטי |
נוכחות: |
אופציונלי |
סוג: |
לא רלוונטי |
זה יכול להיות מפתח (שם סטטי שסיפקתם) או ערך (רשומה דינמית שמוגדרת על ידי הפניה למשתנה). כל הפסקאות שצוינו (פלוס הקידומת) מחוברות זו לזו כדי ליצור את מפתח המטמון.
<KeyFragment>apiAccessToken</KeyFragment> <KeyFragment ref="request.queryparam.client_id" />
משתמשים ברכיב <KeyFragment>
בשילוב עם <Prefix>
ו-<Scope>
. מידע נוסף זמין במאמר עבודה עם מפתחות מטמון.
מאפיינים
מאפיין | סוג | ברירת מחדל | חובה | תיאור |
---|---|---|---|---|
ref | מחרוזת | לא |
המשתנה שממנו רוצים לקבל את הערך. לא צריך להשתמש בו אם האלמנט מכיל ערך מילולי. |
אלמנט <CacheKey>/<Prefix>
הערך שצוין ישמש כקידומת של מפתח מטמון.
<Prefix>prefix_string</Prefix>
ברירת מחדל: |
לא רלוונטי |
נוכחות: |
אופציונלי |
סוג: |
מחרוזת |
משתמשים בערך הזה במקום ב-<Scope>
כשרוצים לציין ערך משלכם במקום ערך ממוספר של <Scope>
. אם הערך מוגדר, הוא מצורף לתחילת הערך של מפתח המטמון של הרשומות שנכתבות במטמון.<Prefix>
ערך של רכיב <Prefix>
מבטל ערך של רכיב <Scope>
.
משתמשים ברכיב <Prefix>
בשילוב עם <CacheKey>
ו-<Scope>
. מידע נוסף זמין במאמר עבודה עם מפתחות מטמון.
האלמנט <Scope>
ספירה שמשמשת ליצירת קידומת למפתח מטמון כשלא צוין רכיב <Prefix>
ברכיב <CacheKey>
.
<Scope>scope_enumeration</Scope>
ברירת מחדל: |
'בלעדי' |
נוכחות: |
אופציונלי |
סוג: |
מחרוזת |
ההגדרה <Scope>
קובעת מפתח מטמון שמצורף לתחילת השם בהתאם לערך <Scope>
. לדוגמה, מפתח מטמון יהיה בפורמט הבא כשהיקף מוגדר כ-Exclusive
: orgName__envName__applicationName__proxy|TargetName__ [ serializedCacheKey ].
אם רכיב <Prefix>
נמצא ב-<CacheKey>
, הוא מחליף את הערך של רכיב <Scope>
. הערכים החוקיים כוללים את המניינים הבאים.
משתמשים ברכיב <Scope>
בשילוב עם <CacheKey>
ו-<Prefix>
. מידע נוסף זמין במאמר עבודה עם מפתחות מטמון.
ערכים קבילים
Global |
מפתח המטמון משותף לכל שרת ה-proxy של ה-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__16__default__apiAccessToken |
הערות לגבי שימוש
המדיניות הזו מתאימה לשמירה במטמון למטרות כלליות. בזמן הריצה, המדיניות LookupCache מאחזרת ערך מהמטמון ומקצה את הערך למשתנה שציינתם באמצעות הרכיב AssignTo (אם לא מאוחזר ערך, המשתנה לא יוגדר). הוא מחפש את הערך על סמך מפתח מטמון שנוצר באמצעות הגדרה שמשלבת את הרכיבים CacheKey ו-Scope. במילים אחרות, כדי לאחזר ערך מסוים שנוסף למטמון על ידי מדיניות PopulateCache, במדיניות LookupCache צריכים להיות מוגדרים רכיבים שקשורים למפתחות מטמון באותו אופן שבו הם מוגדרים במדיניות PopulateCache.
שמירת מטמון למטרות כלליות באמצעות מדיניות Populate Cache, מדיניות LookupCache ומדיניות InvalidateCache משתמשת במטמון שאתם מגדירים או במטמון משותף שכלול כברירת מחדל. ברוב המקרים, המטמון המשותף הבסיסי יענה על הצרכים שלכם. כדי להשתמש במטמון ברירת המחדל, פשוט משמיטים את הרכיב <CacheResource>
.
מידע נוסף על הגדרת מטמון זמין במאמר יצירה ועריכה של מטמון בסביבה. מידע נוסף על מאגר הנתונים הבסיסי זמין במאמר המבנה הפנימי של המטמון.
משתני זרימה
אפשר להשתמש במשתני תהליך כדי להגדיר התנהגות דינמית בסביבת זמן הריצה של כללי מדיניות ותהליכים, על סמך כותרות HTTP או תוכן ההודעה, או על סמך ההקשר שזמין בתהליך. למידע נוסף על משתני תהליך, ראו חומר עזר בנושא משתנים.
משתני ה-Flow המוגדרים מראש הבאים זמינים אחרי שתתאימו אישית את ההתנהגות של המטמון שתגדירו במדיניות LookupCache.
משתנים | סוג | הרשאה | תיאור |
---|---|---|---|
lookupcache.{policy-name}.cachename | מחרוזת | הרשאת קריאה בלבד | הפונקציה מחזירה את שם המטמון שמשמש במדיניות. |
lookupcache.{policy-name}.cachekey | מחרוזת | הרשאת קריאה בלבד | הפונקציה מחזירה את המפתח שבו נעשה שימוש. |
lookupcache.{policy-name}.cachehit | בוליאני | הרשאת קריאה בלבד | הערך True מוחזר אם המדיניות מצאה ערך למפתח המטמון שצוין. |
lookupcache.{policy-name}.assignto | מחרוזת | הרשאת קריאה בלבד | הפונקציה מחזירה את המשתנה שאליו המטמון הוקצה. |
קודי שגיאה
בקטע הזה מתוארות הודעות השגיאה ומשתני הזרימה שמוגדרים כשהמדיניות הזו גורמת לשגיאה. חשוב לדעת אם מפתחים כללים לתקלה בשרת proxy. מידע נוסף זמין במאמר מה צריך לדעת על שגיאות מדיניות ועל טיפול בפגמים.
קידומת קוד שגיאה
לא רלוונטי
שגיאות בזמן ריצה
המדיניות הזו לא גורמת לשגיאות זמן ריצה.
שגיאות בפריסה
השגיאות האלה יכולות להתרחש כשפורסים שרת proxy שכולל את המדיניות הזו.
שם השגיאה | סיבה | תיקון |
---|---|---|
InvalidCacheResourceReference |
השגיאה הזו מתרחשת אם לרכיב <CacheResource> מוגדר שם
שלא קיים בסביבה שבה נפרס שרת ה-proxy של ה-API. |
build |
InvalidTimeout |
אם הרכיב <CacheLookupTimeoutInSeconds> מוגדר כמספר שלילי, הפריסה של שרת ה-proxy של ה-API תיכשל. |
build |
CacheNotFound |
השגיאה הזו מתרחשת אם המטמון הספציפי שצוין בהודעת השגיאה לא נוצר ברכיב מסוים של מעבד ההודעות. | build |
משתני שבר
לא רלוונטי
דוגמה לשגיאה
לא רלוונטי