[GAS][Cache]保存したキャッシュを取得するには: 逆引きGoogle Apps Script

2012 年 7 月 29 日 日曜日

サンプルスクリプト

“cache”というキーでキャッシュを取得。キャッシュが保存されていれば、取得した文字列からHtmlOutputインスタンスを生成し、画面に表示している。

キャッシュがなければHtmlOutputを生成したあと、キャッシュに保存し、次回以降はキャッシュ文字列から生成して画面に表示する。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
function doGet()
{
  var cache = CacheService.getPublicCache();
  var cachedHtml = cache.get('cache');
  var html;
 
  if(cachedHtml != null)
  {
    html = HtmlService.createHtmlOutput(cachedHtml);
  }else
  {
    html = HtmlService.createHtmlOutput('<p>Hello Cache Service!</p>');
    cache.put('cache', html.getContent());
  }
 
  return html;
}

行3 Cacheインスタンスは、CacheService.getPrivateCache()またはCacheService.getPublicCache()で生成することができるが、これらはキャッシュの有効範囲が異なる。

  • getPrivateCacheで生成したCacheインスタンスで保存したキャッシュは、そのキャッシュを保存したユーザーのみ取得することができる。
  • getPublicCacheの場合は、スクリプトにアクセスする全てのユーザーが取得可能。
行4 cache.get(key)で、保存したキャッシュを取得している。”cache”というキーでキャッシュが保存されていれば、キャッシュに保存されている文字列を取得できる。保存されていなければ戻り値としてnullを返す。
行7

行9
キャッシュが保存されていれば、HtmlService.createHtmlOutput(string html)でキャッシュに保存されている文字列からHtmlOutputインスタンスを生成する。

関連:HTMLサービス:静的ページを表示するには

行10

行14
キャッシュが保存されていない場合はHtmlOutputインスタンスを作成し、作成したHTMLを、{HtmlOutputインスタンス}.getContent()で、HtmlOutputを文字列として取得し、”cache”というキーで保存している。

関連:キャッシュを保存するには

構文:Cacheインスタンス生成

▼ユーザー固有の非公開キャッシュ。例えばカレンダーの予定をキャッシュする場合などに使用する。

CacheService.getPrivateCache()

▼公開キャッシュ。

CacheService.getPublicCache()

戻り値:Cache
Cacheインスタンス

構文:保存したキャッシュの取得

▼パラメータkeyで保存されているキャッシュを取得する。なければnullを返す。

{Cacheインスタンス}.get(key)

戻り値:String
キャッシュされた文字列

関連記事

コメントをどうぞ

トラックバック

このエントリーのトラックバックURL:

http://www.bmoo.net/archives/2012/07/314557.html/trackback