Class Cache

캐시

특정 캐시에 대한 참조입니다.

이 클래스를 사용하면 캐시에서 항목을 삽입, 검색, 삭제할 수 있습니다. 이 방법은 비용이 많이 들거나 느린 리소스에 자주 액세스해야 할 때 특히 유용할 수 있습니다. 예를 들어 example.com에 RSS 피드를 가져오는 데 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키 배열의 캐시에서 발견된 모든 키-값 쌍을 포함하는 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'.
var value = cache.get('foo');

매개변수

이름유형설명
keyString캐시에서 검색할 키

리턴

String — 캐시된 값 또는 찾을 수 없는 경우 null입니다.


getAll(keys)

키 배열의 캐시에서 발견된 모든 키-값 쌍을 포함하는 JavaScript 객체를 반환합니다.

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

매개변수

이름유형설명
keysString[]조회할 키

리턴

Object - 캐시에서 발견된 모든 키의 키-값 쌍이 포함된 JavaScript 객체

참고 항목


put(key, value)

캐시에 키-값 쌍을 추가합니다.

키의 최대 길이는 250자(영문 기준)입니다. 키당 저장할 수 있는 최대 데이터 양은 100KB입니다. 값은 600초 (10분) 후에 캐시에서 만료됩니다.

캐시된 항목의 한도는 1,000개입니다. 1,000개가 넘는 항목을 쓰면 캐시는 만료 시간에서 가장 멀리 떨어진 항목 900개를 저장합니다. 이 한도는 변경될 수 있습니다.

// 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.
cache.put('foo', 'bar', 20);

매개변수

이름유형설명
keyString값을 저장할 키
valueString캐시할 값
expirationInSecondsInteger값이 캐시에 남아 있는 최대 시간(초)입니다. 최솟값은 1초, 최댓값은 21,600초 (6시간)입니다.

putAll(values)

키-값 쌍 집합을 캐시에 추가합니다.

'put'을 반복적으로 호출하는 것과 비슷하지만, Memcache 서버를 한 번만 호출하여 모든 값을 설정하므로 더 효율적입니다. 키의 최대 길이는 250자(영문 기준)입니다. 키당 저장할 수 있는 최대 데이터 양은 100KB입니다. 값은 600초 (10분) 후에 캐시에서 만료됩니다.

캐시된 항목의 한도는 1,000개입니다. 1,000개가 넘는 항목을 쓰면 캐시는 만료 시간에서 가장 멀리 떨어진 항목 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);

매개변수

이름유형설명
valuesObject문자열 키와 값이 포함된 자바스크립트 객체

참고 항목


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'.
var values = {
  'foo': 'bar',
  'x':'y',
  'key': 'value'
};
cache.putAll(values, 20);

매개변수

이름유형설명
valuesObject문자열 키와 값이 포함된 자바스크립트 객체
expirationInSecondsInteger값이 캐시에 유지되는 최대 시간(초)입니다. 허용되는 최소 만료 시간은 1초이고 허용되는 최대 만료 시간은 21,600초(6시간)입니다. 기본 만료 시간은 600초 (10분)입니다.

참고 항목


remove(key)

지정된 키를 사용하여 캐시에서 항목을 삭제합니다.

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

매개변수

이름유형설명
keyString캐시에서 삭제할 키

removeAll(keys)

캐시에서 항목 집합을 삭제합니다.

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

매개변수

이름유형설명
keysString[]삭제할 키 배열