ارجاع به یک حافظه پنهان خاص.
این کلاس به شما امکان میدهد موارد را از یک حافظه پنهان (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 | مقدار ذخیره شده در حافظه پنهان (cache) برای کلید داده شده را برمیگرداند، یا در صورت عدم یافتن، null برمیگرداند. |
get All(keys) | Object | یک شیء جاوا اسکریپت حاوی تمام جفتهای کلید/مقدار موجود در حافظه پنهان برای آرایهای از کلیدها را برمیگرداند. |
put(key, value) | void | یک جفت کلید/مقدار به حافظه پنهان اضافه میکند. |
put(key, value, expirationInSeconds) | void | یک جفت کلید/مقدار به حافظه پنهان اضافه میکند، به همراه زمان انقضا (برحسب ثانیه). |
put All(values) | void | مجموعهای از جفتهای کلید/مقدار را به حافظه پنهان اضافه میکند. |
put All(values, expirationInSeconds) | void | مجموعهای از جفتهای کلید/مقدار را به حافظه پنهان (cache) اضافه میکند، به همراه زمان انقضا (برحسب ثانیه). |
remove(key) | void | با استفاده از کلید داده شده، یک ورودی را از حافظه پنهان حذف میکند. |
remove All(keys) | void | مجموعهای از ورودیها را از حافظه پنهان حذف میکند. |
مستندات دقیق
get(key)
مقدار ذخیره شده در حافظه پنهان (cache) برای کلید داده شده را برمیگرداند، یا در صورت عدم یافتن، null برمیگرداند.
// Gets the value from the cache for the key 'foo'. const value = CacheService.getScriptCache().get('foo');
پارامترها
| نام | نوع | توضیحات |
|---|---|---|
key | String | کلید جستجو در حافظه پنهان. |
بازگشت
String|null — مقدار ذخیره شده در حافظه پنهان، یا null در صورتی که هیچ مقداری یافت نشد.
getAll(keys)
یک شیء جاوا اسکریپت حاوی تمام جفتهای کلید/مقدار موجود در حافظه پنهان برای آرایهای از کلیدها را برمیگرداند.
// 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'}
پارامترها
| نام | نوع | توضیحات |
|---|---|---|
keys | String[] | کلیدهای جستجو. |
بازگشت
Object - یک شیء جاوا اسکریپت که شامل جفتهای کلید/مقدار برای تمام کلیدهای موجود در حافظه پنهان است.
همچنین ببینید
put(key, value)
یک جفت کلید/مقدار به حافظه پنهان اضافه میکند.
حداکثر طول یک کلید ۲۵۰ کاراکتر است. حداکثر مقدار دادهای که میتوان در هر کلید ذخیره کرد ۱۰۰ کیلوبایت است. این مقدار پس از ۶۰۰ ثانیه (۱۰ دقیقه) از حافظه پنهان (cache) منقضی میشود.
حداکثر تعداد آیتمهای ذخیرهشده در حافظه پنهان ۱۰۰۰ است. اگر بیش از ۱۰۰۰ آیتم نوشته شده باشد، حافظه پنهان ۹۰۰ آیتمی را که از تاریخ انقضا دورتر هستند، ذخیره میکند. این محدودیت ممکن است تغییر کند.
const cache = CacheService.getScriptCache(); // Puts the value 'bar' into the cache using the key 'foo' cache.put('foo', 'bar');
پارامترها
| نام | نوع | توضیحات |
|---|---|---|
key | String | کلید ذخیره مقدار زیر. |
value | String | مقداری که قرار است ذخیره شود. |
put(key, value, expirationInSeconds)
یک جفت کلید/مقدار به حافظه پنهان اضافه میکند، به همراه زمان انقضا (برحسب ثانیه).
حداکثر طول یک کلید ۲۵۰ کاراکتر است. حداکثر مقدار دادهای که میتوان در هر کلید ذخیره کرد ۱۰۰ کیلوبایت است. زمان انقضای مشخص شده فقط یک پیشنهاد است؛ اگر دادههای زیادی در حافظه پنهان ذخیره شده باشند، ممکن است دادههای ذخیره شده قبل از این زمان حذف شوند.
حداکثر تعداد آیتمهای ذخیرهشده در حافظه پنهان ۱۰۰۰ است. اگر بیش از ۱۰۰۰ آیتم نوشته شده باشد، حافظه پنهان ۹۰۰ آیتمی را که از تاریخ انقضا دورتر هستند، ذخیره میکند. این محدودیت ممکن است تغییر کند.
// Puts the value 'bar' into the cache using the key 'foo', but only for the // next 20 seconds. CacheService.getScriptCache().put('foo', 'bar', 20);
پارامترها
| نام | نوع | توضیحات |
|---|---|---|
key | String | کلید ذخیره مقدار زیر. |
value | String | مقداری که قرار است ذخیره شود. |
expiration In Seconds | Integer | حداکثر زمانی که مقدار در حافظه پنهان باقی میماند، بر حسب ثانیه. حداقل ۱ ثانیه و حداکثر ۲۱۶۰۰ ثانیه (۶ ساعت) است. |
putAll(values)
مجموعهای از جفتهای کلید/مقدار را به حافظه پنهان اضافه میکند.
مشابه فراخوانیهای مکرر برای "put"، اما کارآمدتر است زیرا فقط یک فراخوانی انجام میدهد و مقدار دادهای که میتواند برای هر کلید ذخیره شود ۱۰۰ کیلوبایت است. مقادیر پس از ۶۰۰ ثانیه (۱۰ دقیقه) از حافظه پنهان (cache) منقضی میشوند.
حداکثر تعداد آیتمهای ذخیرهشده در حافظه پنهان ۱۰۰۰ است. اگر بیش از ۱۰۰۰ آیتم نوشته شده باشد، حافظه پنهان ۹۰۰ آیتمی را که از تاریخ انقضا دورتر هستند، ذخیره میکند. این محدودیت ممکن است تغییر کند.
// 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);
پارامترها
| نام | نوع | توضیحات |
|---|---|---|
values | Object | یک شیء جاوا اسکریپت حاوی کلیدها و مقادیر رشتهای. |
همچنین ببینید
putAll(values, expirationInSeconds)
مجموعهای از جفتهای کلید/مقدار را به حافظه پنهان (cache) اضافه میکند، به همراه زمان انقضا (برحسب ثانیه).
مشابه فراخوانیهای مکرر برای "put"، اما کارآمدتر است زیرا فقط یک فراخوانی به سرور memcache برای تنظیم همه مقادیر انجام میدهد. حداکثر طول یک کلید ۲۵۰ کاراکتر است. حداکثر مقدار دادهای که میتوان در هر کلید ذخیره کرد ۱۰۰ کیلوبایت است. زمان انقضای مشخص شده فقط یک پیشنهاد است؛ اگر دادههای زیادی ذخیره شده باشند، ممکن است دادههای ذخیره شده قبل از این زمان حذف شوند.
حداکثر تعداد آیتمهای ذخیرهشده در حافظه پنهان ۱۰۰۰ است. اگر بیش از ۱۰۰۰ آیتم نوشته شده باشد، حافظه پنهان ۹۰۰ آیتمی را که از تاریخ انقضا دورتر هستند، ذخیره میکند. این محدودیت ممکن است تغییر کند.
// 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);
پارامترها
| نام | نوع | توضیحات |
|---|---|---|
values | Object | یک شیء جاوا اسکریپت حاوی کلیدها و مقادیر رشتهای. |
expiration In Seconds | Integer | حداکثر زمانی که مقدار در حافظه پنهان باقی میماند، بر حسب ثانیه. حداقل انقضای مجاز ۱ ثانیه و حداکثر انقضای مجاز ۲۱۶۰۰ ثانیه (۶ ساعت) است. انقضای پیشفرض ۶۰۰ ثانیه (۱۰ دقیقه) است. |
همچنین ببینید
remove(key)
با استفاده از کلید داده شده، یک ورودی را از حافظه پنهان حذف میکند.
// Removes any cache entries for 'foo' CacheService.getUserCache().remove('foo');
پارامترها
| نام | نوع | توضیحات |
|---|---|---|
key | String | کلید برای حذف از حافظه پنهان. |
removeAll(keys)
مجموعهای از ورودیها را از حافظه پنهان حذف میکند.
// Removes entries from the cache with keys 'foo' and 'x' CacheService.getDocumentCache().removeAll(['foo', 'x']);
پارامترها
| نام | نوع | توضیحات |
|---|---|---|
keys | String[] | آرایهای از کلیدها که باید حذف شوند. |