Google apps script 如何在google apps脚本中缓存2D数组?
我一直在尝试缓存google工作表(“SubmissionsTable”)。对于缓存为空的第一次运行,一切正常。但是在从缓存读取的后续运行中,“SubmissionsTable”将只包含第一行,而所有其他行都将被删除。我附加了代码,以防误解。 例如: 运行1:在拼接后读取文件Google apps script 如何在google apps脚本中缓存2D数组?,google-apps-script,Google Apps Script,我一直在尝试缓存google工作表(“SubmissionsTable”)。对于缓存为空的第一次运行,一切正常。但是在从缓存读取的后续运行中,“SubmissionsTable”将只包含第一行,而所有其他行都将被删除。我附加了代码,以防误解。 例如: 运行1:在拼接后读取文件提交表=[[1,2,3],[a,b,c]] 运行2:从缓存读取提交表=[1,2,3] 编辑:按原样运行此代码应该会重现问题。如果您感兴趣,这是从中获取数据的工作表: 这似乎表明: function trycache() {
提交表=[[1,2,3],[a,b,c]]
运行2:从缓存读取提交表=[1,2,3]
编辑:按原样运行此代码应该会重现问题。如果您感兴趣,这是从中获取数据的工作表:
这似乎表明:
function trycache() {
const a =[[1,2,3],[4,5,6],[7,8,9]];
let cs=CacheService.getScriptCache();
cs.put('mykey',JSON.stringify(a));
const b=JSON.parse(cs.get('mykey'));
Logger.log(b[0][2]);
}
Execution log
10:28:23 AM Notice Execution started
10:28:24 AM Info 3.0
10:28:23 AM Notice Execution completed
它可以处理任何可以加载JSON.stringify()然后再加载JSON.parse的内容。()恢复。缓存在您的中未定义example@Cooper谢谢你的帮助!是的,这只是我代码中的一小口,不是全部。它就像PropertiesService一样,它将所有内容保存为字符串。如果你想提高获得答案的机会,我建议你始终提供一个。谢谢你的时间和帮助!对不起或者没有正确检查JSON.stringify
function trycache() {
const a =[[1,2,3],[4,5,6],[7,8,9]];
let cs=CacheService.getScriptCache();
cs.put('mykey',JSON.stringify(a));
const b=JSON.parse(cs.get('mykey'));
Logger.log(b[0][2]);
}
Execution log
10:28:23 AM Notice Execution started
10:28:24 AM Info 3.0
10:28:23 AM Notice Execution completed