14
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Google Apps Scripts - キャッシュ

Posted at

よく忘れて、毎回探しに行くので、メモ。

リファレンス

使い方

オブジェクトの取得

とりあえず、スクリプトキャッシュ。

var cache = CacheService.getScriptCache();

キャッシュへの投入

put(キー, 値, 保持期限(秒))

cache.put('test_key', 'test_value', 60 * 60 * 6);

キャッシュからの取得

get(キー)

var cache_value = cache.get('test_key');

キャッシュから削除

remove(キー)

cache.remove('test_key');

備考

スコープ

項目 スコープ
getDocumentCache() ドキュメント
getScriptCache() スクリプト
getUserCache() 現在のユーザとスクリプト

制限および割り当て

項目 内容
キーの長さ 250文字
値のサイズ 100KB
保持期限 6時間

処理時間の計測

数バイトのキーおよび値で計測した結果。

スプレッドシート等へのアクセス時間を考えると、非常に高速。

回数 1 2 3 4 5 6 7 8 9 10 Avg.
Get cache object(ms) 2 2 2 3 3 3 2 3 3 2 3
Remove key from cache(ms) 90 145 88 56 102 98 100 61 90 51 88
Put value to cache(ms) 52 51 57 57 55 61 56 60 53 53 56
Get value from cache(ms) 20 21 19 13 23 23 24 17 21 23 20

250文字のキーと、100KBの値で計測した結果。

上とほぼ一緒。特にデータサイズには依存しない模様。

回数 1 2 3 4 5 6 7 8 9 10 Avg.
Get cache object(ms) 2 2 2 2 2 2 4 4 2 1 2
Remove key from cache(ms) 55 91 91 100 91 94 98 93 97 92 90
Put value to cache(ms) 52 52 57 62 60 58 66 54 54 59 57
Get value from cache(ms) 22 21 21 21 23 23 28 24 22 20 23

その他

簡易的なデータ置き場として

保存期間が6時間、データサイズ100KBと、それなりの容量を使えますし、
データサイズによる処理時間の劣化もなさそうですので、一時的なデータ
置き場として色々と使い道がありそうです。


  var obj = {
    "key1": "test_value1",
    "key2": "test_value2",
    "key3": "test_value3",
    "key4": "test_value4",
    "key5": "test_value5",
    "key6": "test_value6"
  };

  var cache = CacheService.getScriptCache();

  cache.put('test_key', JSON.stringify(obj), 60 * 60 * 6);

  var value = JSON.parse(cache.get('test_key'));
  
  Logger.log(value);
  Logger.log(value.key1);

実行結果:

[yy-mm-dd HH:MM:SS:000 PDT] {test_key3=test_value3, test_key5=test_value5, test_key4=test_value4, test_key2=test_value2, test_key1=test_value1, test_key6=test_value6}
[yy-mm-dd HH:MM:SS:000 PDT] test_value1
14
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
14
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?