גישה למטמון ב-Node.js

מוצג המסמך של Apigee Edge.
עוברים אל מסמכי תיעוד של Apigee X.
מידע

אפשר להשתמש במודול apigee-access כדי לגשת למטמון המבוזר של Edge דרך באפליקציה ב-Node.js. המודול כולל שיטות לקבלת מטמון והוספה, קבלה והסרה של נתונים.

המטמון המבוזר של Apigee Edge מאפשר לאחסן מחרוזות או נתונים אחרים. כמו רוב המטמון, הוא מטמון שנעשה בו שימוש לאחרונה, עם גודל מקסימלי. בתוך Apigee Edge, המטמון מחולק בין כל הצמתים שבהם פועלת אפליקציית Node.js. אפשר לנהל את המטמון באמצעות API של Apigee Edge. באמצעות ה-API, תוכלו ליצור משאבי מטמון באופן ידני, או להשתמש משאב ברירת המחדל. למבוא לשמירה במטמון ב-Apigee Edge, ראו כלים מתמידים ב-Edge. מידע נוסף על המטמון המבוזר, ראה דוגמה: מטרה כללית שמירה במטמון.

למבוא למודול apigee-access ולשאר התכונות שלו: באמצעות מודול הגישה לכתובת ה-apigee.

שיטות


(1) getcache

var cache = apigee.getCache(cacheName);

מחפשים מטמון בעל שם ויוצרים אותו לפי הצורך. המטמון שנוצר משתמש בקבוצה מוגדרת מראש של פרמטרים של תצורה שמתאימים לרוב המצבים.

פרמטרים:

cacheName – מחרוזת, השם של של Google. (לא השם של משאב המטמון).

החזרות:

אובייקט של מטמון.

דוגמה:

var apigee = require('apigee-access');
var cache = apigee.getCache('cache');

(2) getcache

var customCache = apigee.getCache(cacheName, options );

גישה למשאב מטמון בהתאמה אישית שצוין באובייקט הגדרה. לקבלת מידע על האופן שבו כדי ליצור משאב מטמון, ראו יצירה ועריכה של סביבה מטמון.

פרמטרים:

cacheName – מחרוזת, השם של מטמון בהתאמה אישית. (לא השם של משאב המטמון)

options – אובייקט הגדרה. האובייקט יכול להיות ריק, או להכיל את הפרמטרים האופציונליים הבאים:

  • resource: השם של 'משאב מטמון' ב-Apigee שבו מאוחסנים נתוני מטמון. משאבי המטמון משמשים לכוונון עדין של הקצאת הזיכרון וסוגים אחרים של מטמון . אם לא מציינים זאת, המערכת תשתמש במשאב ברירת מחדל. אם משאב המטמון קיים, השיטה גורמת לשגיאה.

  • scope: מציין אם רשומות המטמון מתחילות למנוע התנגשויות. הערכים החוקיים הם global, application ו exclusive.

    • global: ייתכן שכל הרשומות של המטמון יראו את כל האפליקציות של Node.js אותה 'סביבה' של Apigee.

    • application: את כל הרשומות במטמון אפשר לראות בכל המטמון של Node.js חלק מאותה אפליקציה של Apigee Edge.

    • exclusive: (ברירת מחדל) אפשר לראות רשומות במטמון רק במטמון Node.js אפליקציות שיש להן שם זהה. (זוהי ברירת המחדל)

  • prefix: אם השם של מפתח המטמון כולל תחילית, כמו שמתואר בקטע אכלוס מדיניות המטמון ועבודה עם מפתחות מטמון, משתמשים ב- את הפרמטר הזה כדי לציין אותו. Edge מוסיף באופן אוטומטי סיומת של קו תחתון כפול . כלומר, אם נוצר מפתח מטמון עם הקידומת UserToken, התחילית שיש לציין הנה "UserToken__".

  • defaultTtl: מציין את ברירת המחדל של משך החיים במטמון בשניות. אם לא צוין ערך, ה-TTL שמוגדר כברירת המחדל במשאב המטמון יהיה בשימוש.

  • timeout: כמה זמן צריך להמתין לאחזור תוצאה מטמון מבוזר, בשניות. ברירת המחדל היא 30 שניות. אפליקציות רגישות לזמן אחזור עשויות לצמצם זאת כדי למנוע זמני תגובה איטיים, במקרה שתשתית המטמון עומס יתר.

החזרות:

אובייקט של מטמון בהתאמה אישית.

דוגמה:

var apigee = require('apigee-access');
var customCache = apigee.getCache('doesNotMatter',
  { resource: 'MyCustomResource', scope: 'global', prefix: 'UserToken'} );
customCache.put("myCacheKey", "xyz");

הוא פועל עם מדיניות LookupCache שמוגדרת כך:

<LookupCache name="Lookup-Cache-1">
  <CacheKey>
    <Prefix>UserToken</prefix>    
    <KeyFragment>myCacheKey</KeyFragment>
  </CacheKey>
  <CacheResource>MyCustomResource</CacheResource>
  <Scope>Global</Scope>
  <AssignTo>contextVariable</AssignTo>
</LookupCache>

put

cache.put('key', data, ttl, function(error));

מעבירים את הנתונים למטמון.

פרמטרים:

  • key: (חובה) מחרוזת שמזהה באופן ייחודי את הפריט שבמטמון. הגודל של מפתחות המטמון מוגבל ל-2KB.

  • data: (חובה) מחרוזת, מאגר נתונים זמני או אובייקט שמייצג את הנתונים לשמירה במטמון. כל סוג אחר של נתונים יגרום לשגיאה. לנוחיותכם, האובייקטים יומרו למחרוזת באמצעות JSON.stringify.

  • ttl: (אופציונלי) משך הזמן המקסימלי לשמירת הטמפרטורה במטמון, בשניות. אם לא מציינים זאת, המערכת תשתמש ב-TTL שמוגדר כברירת מחדל.

  • callback: (אופציונלי) אם צוין, פונקציה תתבצע קריאה אחרי שהנתונים יישמרו במטמון באופן בטוח. היא תיקרא עם אובייקט Error בתור הפרמטר הראשון אם יש שגיאה בהוספת הפרמטר. אחרת, הוא יופעל עם אין פרמטרים.

דוגמה:

var apigee = require('apigee-access');
var cache = apigee.getCache();
// Insert a string into cache using the default TTL
cache.put('key1', 'Buenos dias, Mundo!');
// Insert a string into cache using a TTL of 120 seconds
cache.put('key2', 'Hello, World!', 120);
// Insert a string with the default TTL, and get notified when the insert is complete
cache.put('key3', 'Ciao, Mondo!', function(error) {
  // "error" will be falsy unless there was an error on insert
});
// Insert a string with a TTL of 600 seconds, and get notified when the insert is complete
cache.put('key4', 'Hallo Wereld!', 600, function(error) {
  // "error" will be falsy unless there was an error on insert
});

הורדה

cache.get('key', function(error, data));

אחזור נתונים ממטמון.

פרמטרים:

  • key (חובה): מחרוזת שמזהה באופן ייחודי את הפריט שבמטמון.

    עבור רשומות של מטמון שנשמרו במטמון ממדיניות Apigee Edge (כמו מדיניות אכלוס המטמון), צריך יהיה צורך ליצור את מפתח המטמון על סמך האופן שבו המדיניות יוצרת לרשומות. לשם כך, עליכם לדעת איך המדיניות מוגדרת. בזמן עבודה עם מפתחות של מטמון שמתארת את האופן שבו מפתחות המטמון נוצרים על ידי מדיניות, יש לזכור שאין לציין ערכי מחרוזת הקשורים להיקף; בשיחות מ-Node.js, ההיקף הוא כבר חלק הקשר מסוים.

  • callback (חובה): פונקציה שתיקרא כשהנתונים זמינים. אם קיימים נתונים במטמון, הם מוחזרים הפרמטר.

    • error – אובייקט שגיאה. אם יש שגיאה בזמן אחזור מהמטמון, כאן יוגדר אובייקט שגיאה. אחרת, יוגדר כ-"undefined".

    • data – הנתונים שאוחזרו, אם יש כאלה. זה יהיה אחד מתוך ארבעה ערכים:

      • אם נוספה מחרוזת, היא תהיה מחרוזת.
      • אם בוצעה הוספה של מאגר נתונים זמני, הוא יהיה מאגר נתונים זמני.
      • אם מוסיפים אובייקט, הוא יהיה מחרוזת שמכילה את גרסת ה-JSON של כפי שנוצר על ידי "JSON.stringify".
      • אם לא נמצא שום דבר, הערך יהיה 'undefined'.

דוגמה:

var apigee = require('apigee-access');
var cache = apigee.getCache();
cache.get('key', function(error, data) {
  // If there was an error, then "error" will be set.
  // If error is falsy, "data" is the item that was retrieved:
  //   - undefined, in the case of cache miss, or
  //   - a Buffer, or
  //   - a String
});

הסרה

cache.remove('key', function(error));

ביטול תוקף של פריט שנשמר במטמון. לאחר ביטול התוקף של מפתח, בקשות get() הבאות יוחזרו 'undefined' אלא אם הוזן ערך אחר.

פרמטרים:

  • key (חובה): מחרוזת שמזהה באופן ייחודי את הפריט במטמון כדי לבטל את התוקף.

    עבור רשומות של מטמון שנשמרו במטמון ממדיניות Apigee Edge (כמו מדיניות אכלוס המטמון), צריך יהיה צורך ליצור את מפתח המטמון על סמך האופן שבו המדיניות יוצרת לרשומות. לשם כך, עליכם לדעת איך המדיניות מוגדרת. בזמן עבודה עם מפתחות של מטמון שמתארת את האופן שבו מפתחות המטמון נוצרים על ידי מדיניות, יש לזכור שאין לציין ערכי מחרוזת הקשורים להיקף; בשיחות מ-Node.js, ההיקף הוא כבר חלק הקשר מסוים.

  • callback (חובה): פונקציית קריאה חוזרת נקראת עם אובייקט Error בתור הפרמטר הראשון אם יש שגיאה.

דוגמה:

var apigee = require('apigee-access');
var cache = apigee.getCache();
cache.remove('key', function(error) {
});