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

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

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

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