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 دقيقة.

الطُرق

الطريقةنوع القيمة التي يتم عرضهاوصف قصير
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: القيمة المخزّنة مؤقتًا، أو فارغة إذا لم يتم العثور على أي قيمة


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 حرفًا. الحد الأقصى للبيانات التي يمكن تخزينها لكل مفتاح هو 100 كيلوبايت. تنتهي صلاحية القيمة من ذاكرة التخزين المؤقت بعد 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 حرفًا. الحد الأقصى للبيانات التي يمكن تخزينها لكل مفتاح هو 100 كيلوبايت. إنّ وقت انتهاء الصلاحية المحدّد هو اقتراح فقط، وقد تتم إزالة البيانات المخزّنة مؤقتًا قبل هذا الوقت إذا تم تخزين الكثير من البيانات مؤقتًا.

الحد الأقصى للعناصر المخزّنة مؤقتًا هو 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الحد الأقصى للمدة التي تظل فيها القيمة في ذاكرة التخزين المؤقت، بالثواني إنّ الحد الأدنى هو ثانية واحدة والحد الأقصى هو 21600 ثانية (6 ساعات).

putAll(values)

تُضيف مجموعة من أزواج المفتاح/القيمة إلى ذاكرة التخزين المؤقت.

تشبه المكالمات المتكرّرة إلى "put"، ولكنها أكثر فعالية لأنّها تُجري مكالمة واحدة فقط إلى خادم memcache لضبط جميع القيم. الحد الأقصى لطول المفتاح هو 250 حرفًا. الحد الأقصى لكمية البيانات التي يمكن تخزينها لكل مفتاح هو 100 كيلوبايت. ستنتهي صلاحية القيم من ذاكرة التخزين المؤقت بعد 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 حرفًا. الحد الأقصى لكمية البيانات التي يمكن تخزينها لكل مفتاح هو 100 كيلوبايت. إنّ وقت انتهاء الصلاحية المحدَّد هو merely اقتراح، وقد تتم إزالة البيانات المخزّنة مؤقتًا قبل هذا الوقت إذا تم تخزين الكثير من البيانات مؤقتًا.

الحد الأقصى للعناصر المخزّنة مؤقتًا هو 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الحد الأقصى للمدة التي تبقى فيها القيمة في ذاكرة التخزين المؤقت، بالثواني. الحد الأدنى المسموح به لانتهاء الصلاحية هو ثانية واحدة، والحد الأقصى المسموح به لانتهاء الصلاحية هو 21600 ثانية (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[]صفيف المفاتيح المطلوب إزالتها