Class Cache

מטמון

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

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

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

Methods

שיטהסוג הערך המוחזרתיאור קצר
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'.
const value = CacheService.getScriptCache().get('foo');

פרמטרים

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

חזרה

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


getAll(keys)

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

// Gets a set of values from the cache
const values = CacheService.getDocumentCache().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 הפריטים שתאריך התפוגה שלהם רחוק ביותר. המגבלה הזו עשויה להשתנות.

const cache = CacheService.getScriptCache();
// 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.
CacheService.getScriptCache().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'.
const values = {
  foo: 'bar',
  x: 'y',
  key: 'value',
};
CacheService.getUserCache().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'.
const values = {
  foo: 'bar',
  x: 'y',
  key: 'value',
};
CacheService.getUserCache().putAll(values, 20);

פרמטרים

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

ראה גם


remove(key)

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

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

פרמטרים

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

removeAll(keys)

הסרת קבוצה של רשומות מהמטמון.

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

פרמטרים

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