Class Cache

מטמון

הפניה למטמון מסוים.

המחלקה הזו מאפשרת לך להוסיף, לאחזר ולהסיר פריטים ממטמון. האפשרות הזו שימושית במיוחד כשרוצים לגשת בתדירות גבוהה למשאב יקר או איטי. לדוגמה, נניח שיש לכם פיד RSS בכתובת example.com, והאחזור שלו נמשך 20 שניות, אבל אתם רוצים להאיץ את הגישה לבקשה ממוצעת.

function getRssFeed() {
  var cache = CacheService.getScriptCache();
  var cached = cache.get("rss-feed-contents");
  if (cached != null) {
    return cached;
  }
  var result = UrlFetchApp.fetch("http://example.com/my-slow-rss-feed.xml"); // takes 20 seconds
  var contents = result.getContentText();
  cache.put("rss-feed-contents", contents, 1500); // cache for 25 minutes
  return contents;
}
אם הפריט לא שמור במטמון אבל הקריאות הבאות אליו יתבצעו מהר מאוד, תצטרכו להמתין 20 שניות עד שהפריט יסתיים מחוץ למטמון תוך 25 דקות.

שיטות

שיטהסוג הערך שמוחזרתיאור קצר
get(key)Stringהפונקציה מקבלת את הערך ששמור במטמון של המפתח הנתון, או את הערך null אם לא נמצא אף מפתח.
getAll(keys)Objectמחזירה אובייקט JavaScript שמכיל את כל צמדי המפתח/ערך שנמצאו במטמון עבור מערך של מפתחות.
put(key, value)voidמוסיף צמד מפתח/ערך למטמון.
put(key, value, expirationInSeconds)voidמוסיף צמד מפתח/ערך למטמון, עם זמן תפוגה (בשניות).
putAll(values)voidהוספה של קבוצה של צמדי מפתח/ערך למטמון.
putAll(values, expirationInSeconds)voidמוסיף למטמון קבוצה של צמדי מפתח/ערך, עם זמן תפוגה (בשניות).
remove(key)voidמסירה רשומה מהמטמון באמצעות המפתח הנתון.
removeAll(keys)voidמסיר קבוצה של ערכים מהמטמון.

תיעוד מפורט

get(key)

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

// Gets the value from the cache for the key 'foo'.
var value = cache.get('foo');

פרמטרים

שםתיאורהתיאור
keyStringהמפתח לחפש במטמון

החזרות

String – הערך שנשמר במטמון או הערך null אם לא נמצא אף ערך


getAll(keys)

מחזירה אובייקט JavaScript שמכיל את כל צמדי המפתח/ערך שנמצאו במטמון עבור מערך של מפתחות.

// Gets a set of values from the cache
var values = cache.getAll(['foo', 'x', 'missing']);
// If there were values in the cache for 'foo' and 'x' but not 'missing', then 'values' would
// be: {'foo': 'somevalue', 'x': 'othervalue'}

פרמטרים

שםתיאורהתיאור
keysString[]המפתחות לחיפוש

החזרות

Object – אובייקט JavaScript שמכיל את צמדי המפתח/ערך לכל המפתחות שנמצאים במטמון

כדאי לעיין גם בפרטים הבאים


put(key, value)

מוסיף צמד מפתח/ערך למטמון.

האורך המקסימלי של מפתח הוא 250 תווים. כמות הנתונים המקסימלית שאפשר לאחסן לכל מפתח היא 100KB. הערך יפוג מהמטמון לאחר 600 שניות (10 דקות).

המכסה לפריטים במטמון היא 1,000. אם נכתבים יותר מ-1,000 פריטים, 900 הפריטים שנמצאים בטווח הארוך ביותר נשמרים במטמון. המגבלה הזו עשויה להשתנות.

// Puts the value 'bar' into the cache using the key 'foo'
cache.put('foo', 'bar');

פרמטרים

שםתיאורהתיאור
keyStringהמפתח לאחסון הערך
valueStringהערך לשמירה במטמון

put(key, value, expirationInSeconds)

מוסיף צמד מפתח/ערך למטמון, עם זמן תפוגה (בשניות).

האורך המקסימלי של מפתח הוא 250 תווים. כמות הנתונים המקסימלית שאפשר לאחסן לכל מפתח היא 100KB. זמן התפוגה שצוין הוא הצעה בלבד. יכול להיות שנתונים שנשמרו במטמון יוסרו לפני המועד הזה, אם הרבה נתונים יישמרו במטמון.

המכסה לפריטים במטמון היא 1,000. אם נכתבים יותר מ-1,000 פריטים, 900 הפריטים שנמצאים בטווח הארוך ביותר נשמרים במטמון. המגבלה הזו עשויה להשתנות.

// Puts the value 'bar' into the cache using the key 'foo', but only for the next 20 seconds.
cache.put('foo', 'bar', 20);

פרמטרים

שםתיאורהתיאור
keyStringהמפתח לאחסון הערך
valueStringהערך לשמירה במטמון
expirationInSecondsIntegerהזמן המקסימלי שבו הערך נשאר במטמון, בשניות. ערך המינימום הוא שנייה אחת והמקסימום הוא 21,600 שניות (6 שעות).

putAll(values)

הוספה של קבוצה של צמדי מפתח/ערך למטמון.

בדומה לקריאות חוזרות ל-"put", אבל יעילה יותר, מאחר שהיא גורמת להפעלה אחת בלבד של שרת ה-memcache להגדרת כל הערכים. האורך המקסימלי של מפתח הוא 250 תווים. כמות הנתונים המקסימלית שאפשר לאחסן לכל מפתח היא 100KB. הערכים יימחקו מהמטמון אחרי 600 שניות (10 דקות).

המכסה לפריטים במטמון היא 1,000. אם נכתבים יותר מ-1,000 פריטים, 900 הפריטים שנמצאים בטווח הארוך ביותר נשמרים במטמון. המגבלה הזו עשויה להשתנות.

// Puts a set of values into the cache with the keys 'foo', 'x', and 'key'.
var values = {
  'foo': 'bar',
  'x':'y',
  'key': 'value'
};
cache.putAll(values);

פרמטרים

שםתיאורהתיאור
valuesObjectאובייקט JavaScript שמכיל מפתחות וערכים למחרוזת

כדאי לעיין גם בפרטים הבאים


putAll(values, expirationInSeconds)

מוסיף למטמון קבוצה של צמדי מפתח/ערך, עם זמן תפוגה (בשניות).

בדומה לקריאות חוזרות ל-"put", אבל יעילה יותר, מאחר שהיא גורמת להפעלה אחת בלבד של שרת ה-memcache להגדרת כל הערכים. האורך המקסימלי של מפתח הוא 250 תווים. כמות הנתונים המקסימלית שאפשר לאחסן לכל מפתח היא 100KB. זמן התפוגה שצוין הוא בגדר הצעה בלבד. יכול להיות שנתונים שנשמרו במטמון יוסרו לפני המועד הזה, אם הרבה נתונים יישמרו במטמון.

המכסה לפריטים במטמון היא 1,000. אם נכתבים יותר מ-1,000 פריטים, 900 הפריטים שנמצאים בטווח הארוך ביותר נשמרים במטמון. המגבלה הזו עשויה להשתנות.

// Puts a set of values into the cache with the keys 'foo', 'x', and 'key'.
var values = {
  'foo': 'bar',
  'x':'y',
  'key': 'value'
};
cache.putAll(values, 20);

פרמטרים

שםתיאורהתיאור
valuesObjectאובייקט JavaScript שמכיל מפתחות וערכים של מחרוזת
expirationInSecondsIntegerהזמן המקסימלי שבו הערך נשאר במטמון, בשניות. התפוגה המינימלית המותרת היא שנייה אחת, והתפוגה המקסימלית המותרת היא 2,1,600 שניות (6 שעות). משך התפוגה שמוגדר כברירת מחדל הוא 600 שניות (10 דקות).

כדאי לעיין גם בפרטים הבאים


remove(key)

מסירה רשומה מהמטמון באמצעות המפתח הנתון.

// Removes any cache entries for 'foo'
cache.remove('foo');

פרמטרים

שםתיאורהתיאור
keyStringהמפתח להסרה מהמטמון

removeAll(keys)

מסיר קבוצה של ערכים מהמטמון.

// Removes entries from the cache with keys 'foo' and 'x'
cache.removeAll(['foo', 'x']);

פרמטרים

שםתיאורהתיאור
keysString[]מערך המפתחות שצריך להסיר