2012 年 9 月 1 日 土曜日
CacheServiceで保存したキャッシュは、キャッシュを保存したプロジェクトでのみ有効だが、ライブラリを仲介することにより、複数のプロジェクト間でキャッシュを共有することができる。
▼ライブラリソースコード
/**
* 共有キャッシュを保存する
*
* @param String key キャッシュキー
* @param String text キャッシュに保存する文字列
*/
function putSharedCache(key,text){
var cache = CacheService.getPublicCache();
cache.put(key, text, 60*60*24*7);
}
/**
* 共有キャッシュから値を取得する
*
* @param String key キャッシュキー
* @return 保存されたキャッシュ
*/
function getSharedCache(key){
var cache = CacheService.getPublicCache();
var cached = cache.get(key);
return cached;
}
/**
* 共有キャッシュをクリアする
*
* @param String key 削除するキャッシュキー
*/
function clearSharedCache(key){
var cache = CacheService.getPublicCache();
cache.remove(key);
}
▼プロジェクトA:キャッシュを保存
function saveCache(){
sampleLibrary.putSharedCache('sampleKey','キャッシュする文字列');
}
▼プロジェクトB:プロジェクトAで保存したキャッシュを取得
function getCache(){
var cachedText = sampleLibrary.getSharedCache('sampleKey');
Browser.msgBox(cachedText);
}
プロジェクトA、プロジェクトBはそれぞれ同じライブラリを参照している必要がある。このサンプルスクリプトでは、「sampleLibrary」という名称でIdentifierを設定している。
ライブラリの作成、利用について詳しくは、「ライブラリを作成するには」と「ライブラリを利用するには」参照。
キャッシュの作成、利用について詳しくは、「キャッシュを保存するには」と「キャッシュを取得するには」参照。
このエントリーのトラックバックURL:
http://www.bmoo.net/archives/2012/08/314628.html/trackback