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 یک شی جاوا اسکریپت حاوی تمام جفت‌های کلید/مقدار موجود در حافظه پنهان برای آرایه‌ای از کلیدها را برمی‌گرداند.
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');

پارامترها

نام تایپ کنید توضیحات
key String کلید جستجو در حافظه پنهان

بازگشت

String - مقدار ذخیره شده در حافظه پنهان، یا اگر هیچ موردی پیدا نشد، صفر است


getAll(keys)

یک شی جاوا اسکریپت حاوی تمام جفت‌های کلید/مقدار موجود در حافظه پنهان برای آرایه‌ای از کلیدها را برمی‌گرداند.

// 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'}

پارامترها

نام تایپ کنید توضیحات
keys String[] کلیدهای جستجو

بازگشت

Object - یک شی جاوا اسکریپت حاوی جفت‌های کلید/مقدار برای همه کلیدهای موجود در حافظه پنهان

همچنین ببینید


put(key, value)

یک جفت کلید/مقدار به حافظه پنهان اضافه می کند.

حداکثر طول یک کلید 250 کاراکتر است. حداکثر مقدار داده ای که می توان در هر کلید ذخیره کرد 100 کیلوبایت است. مقدار پس از 600 ثانیه (10 دقیقه) از حافظه پنهان منقضی می شود.

سقف موارد ذخیره شده در حافظه پنهان 1000 است. اگر بیش از 1000 مورد نوشته شده باشد، حافظه پنهان 900 مورد را در دورترین فاصله از تاریخ انقضا ذخیره می کند. این محدودیت ممکن است تغییر کند.

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

پارامترها

نام تایپ کنید توضیحات
key String کلید ذخیره مقدار در زیر
value String مقداری که باید ذخیره شود

put(key, value, expirationInSeconds)

یک جفت کلید/مقدار با زمان انقضا (بر حسب ثانیه) به حافظه پنهان اضافه می کند.

حداکثر طول یک کلید 250 کاراکتر است. حداکثر مقدار داده ای که می توان در هر کلید ذخیره کرد 100 کیلوبایت است. زمان انقضای مشخص شده فقط یک پیشنهاد است. اگر داده‌های کش زیادی ذخیره شود، ممکن است قبل از این زمان حذف شوند.

سقف موارد ذخیره شده در حافظه پنهان 1000 است. اگر بیش از 1000 مورد نوشته شده باشد، حافظه پنهان 900 مورد را در دورترین فاصله از تاریخ انقضا ذخیره می کند. این محدودیت ممکن است تغییر کند.

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

پارامترها

نام تایپ کنید توضیحات
key String کلید ذخیره مقدار در زیر
value String مقداری که باید ذخیره شود
expirationInSeconds Integer حداکثر زمانی که مقدار در حافظه پنهان باقی می ماند، بر حسب ثانیه. حداقل 1 ثانیه و حداکثر 21600 ثانیه (6 ساعت) است.

putAll(values)

مجموعه ای از جفت های کلید/مقدار را به حافظه پنهان اضافه می کند.

شبیه به تماس های مکرر برای "put"، اما کارآمدتر است زیرا فقط یک تماس با سرور memcache برقرار می کند تا همه مقادیر را تنظیم کند. حداکثر طول یک کلید 250 کاراکتر است. حداکثر مقدار داده ای که می توان در هر کلید ذخیره کرد 100 کیلوبایت است. مقادیر پس از 600 ثانیه (10 دقیقه) از حافظه پنهان منقضی می شوند.

سقف موارد ذخیره شده در حافظه پنهان 1000 است. اگر بیش از 1000 مورد نوشته شده باشد، حافظه پنهان 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);

پارامترها

نام تایپ کنید توضیحات
values Object یک شی جاوا اسکریپت حاوی کلیدها و مقادیر رشته ای

همچنین ببینید


putAll(values, expirationInSeconds)

مجموعه‌ای از جفت‌های کلید/مقدار را با زمان انقضا (بر حسب ثانیه) به حافظه پنهان اضافه می‌کند.

شبیه به تماس های مکرر برای "put"، اما کارآمدتر است زیرا فقط یک تماس با سرور memcache برقرار می کند تا همه مقادیر را تنظیم کند. حداکثر طول یک کلید 250 کاراکتر است. حداکثر مقدار داده ای که می توان در هر کلید ذخیره کرد 100 کیلوبایت است. زمان انقضای مشخص شده فقط یک پیشنهاد است. اگر داده‌های کش زیادی ذخیره شود، ممکن است قبل از این زمان حذف شوند.

سقف موارد ذخیره شده در حافظه پنهان 1000 است. اگر بیش از 1000 مورد نوشته شده باشد، حافظه پنهان 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);

پارامترها

نام تایپ کنید توضیحات
values Object یک شی جاوا اسکریپت حاوی کلیدها و مقادیر رشته ای
expirationInSeconds Integer حداکثر زمان باقی ماندن مقدار در حافظه پنهان، بر حسب ثانیه حداقل انقضای مجاز 1 ثانیه و حداکثر انقضای مجاز 21600 ثانیه (6 ساعت) است. انقضای پیش فرض 600 ثانیه (10 دقیقه) است.

همچنین ببینید


remove(key)

یک ورودی را با استفاده از کلید داده شده از حافظه پنهان حذف می کند.

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

پارامترها

نام تایپ کنید توضیحات
key String کلید حذف از کش

removeAll(keys)

مجموعه ای از ورودی ها را از حافظه پنهان حذف می کند.

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

پارامترها

نام تایپ کنید توضیحات
keys String[] آرایه ای از کلیدها برای حذف