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מחזירה את הערך ששמור במטמון עבור המפתח הנתון, או 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 – הערך שנשמר במטמון, או 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' is: {'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, אבל יעיל יותר כי הוא מבצע רק קריאה אחת לכמות הנתונים שאפשר לאחסן לכל מפתח היא 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[]מערך המפתחות להסרה.