Google Apps Scriptのキャッシュが
簡単に使えそうだったのでやってみました
種類は以下の3種類のようです。
違いはリンク先のリファレンスで確認してください
getDocumentCache()
getScriptCache()
getUserCache()
───────────────────────────
ちなみにgetPublicCache() は今後は使用不可になるのかな?
リファレンスのサンプルコードにはまだ載ってますし使用可能でした
簡単に使えそうだったのでやってみました
種類は以下の3種類のようです。
違いはリンク先のリファレンスで確認してください



ちなみにgetPublicCache() は今後は使用不可になるのかな?
リファレンスのサンプルコードにはまだ載ってますし使用可能でした
下記のサンプルはREDというキーから
Appleというデータをキャッシュから取得します
キャッシュにデータがあればそのままログ出力し
なければキャッシュに保持するというものです
var cachedata = CacheService.getScriptCache();
function myFunction() {
var key = "RED";
//cachedata.remove(key); //キャッシュ削除
var sbuf = suna_cache.get(key);
if (sbuf === null){
//キャッシュに無いから保持
sbuf = "Apple";
suna_cache.put(key,sbuf);
}
Logger.log(sbuf);
}
//関数でもいいけどなんとなくクラス的なものにした
var suna_cache = {
put: function(key,data){
cachedata.put(key,data,60*60*24); //24時間保持します。7日間が最大?のようです。
},
get: function (key){
return cachedata.get(key);
}
};
時間内はずっと使える連想変数みたいですね
getDocumentCache()を使用してSpreadSheetに変化が少ないマスタのような
データを保持している場合などは
非常に有効になるんじゃないでしょうか
たぶん配列で入るのか・・な?やったことないので時間があればやってみたいと思います
キャッシュは便利な反面、バグを含んだままキャッシュに保持すると
時間内はキャッシュがクリアされない限りバグったままになるので
取り扱いは注意が必要です
getDocumentCache()を使用してSpreadSheetに変化が少ないマスタのような
データを保持している場合などは
非常に有効になるんじゃないでしょうか
たぶん配列で入るのか・・な?やったことないので時間があればやってみたいと思います
キャッシュは便利な反面、バグを含んだままキャッシュに保持すると
時間内はキャッシュがクリアされない限りバグったままになるので
取り扱いは注意が必要です