【问题标题】:What is the size of the cache provided by CacheService using GASCacheService 使用 GAS 提供的缓存大小是多少
【发布时间】:2014-06-30 13:33:39
【问题描述】:

CacheService 的最大大小是多少?

我知道某些东西可以存储在缓存中的最长时间是 21600 秒,但我找不到 publicCache 和 privateCache 的大小实际上有多大,以及我们如何找出有多少空间 (stll) 可用缓存。

由于无法刷新缓存(请参阅How to flush the cache),并且似乎无法从缓存中检索所有键(以便从缓存中删除所有对象),我认为我的信息类型'我要求很重要。

最好(当然)提供有关缓存大小、键和允许刷新的信息。

【问题讨论】:

    标签: google-apps-script caching


    【解决方案1】:

    如前所述,CacheService 大小未记录在案。每个键最多可存储 100KB 的数据量,但也可以使用多个键。在an experiment 10MB worth of data was stored 中使用多个键。由于执行超时,已达到此限制,因此可能会有更多限制。

    如果您希望使用 CacheService 进行大量临时数据存储,您可能想查看这个社区开发的 CacheHandler library

    【讨论】:

    • 非常有帮助! 10 Mb 对我来说已经足够了。我知道该站点(查看从 VBA 到 GAS 的转换),但还没有看到缓存处理程序。我希望 Google 不会在某个时间点减少可用缓存,因为如果人们开始依赖(至少 0 10 Mb 数量)它可能会破坏代码
    • 好答案。不要依赖缓存大小,它可能会根据外部因素缩小/增长,例如其他脚本从所有用户的全局池中使用它。至少这就是 appengine 共享缓存的工作方式。在 appengine 中,您可以购买专用缓存,而不是在应用程序脚本中。
    • @ZigMandel 同意并指出,由于整体缓存大小未记录在案,因此存在更改的风险,恕不另行通知
    【解决方案2】:

    文档没有说明缓存有多大。
    即使在 appengine 中使用非专用缓存时,您也不知道会得到多少。
    你可以用可用的东西做很多事情。使用过期时间,并使用我对您链接的问题 (How to flush the cache) 的回答来“强制过期”单个缓存元素。似乎您主要想要的是一次使它们全部过期,并且链接的答案说明了如何做到这一点。

    【讨论】:

    • 确实我想这样做(而且我确实使用了你的方法),但是知道可用的大小似乎很好,因为如果我将来知道我可能想在缓存中存储更多信息不会有问题。我使用属性和缓存的组合。我注意到的一件事是属性和缓存有共同点,但具有不同功能的方法。建议:提供类似的功能来扩展现在可用的功能。这不会很困难也不会很耗时。
    【解决方案3】:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-10-28
      • 2014-04-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-06
      相关资源
      最近更新 更多