Jag*_*row 7 javascript node.js aws-lambda
我创建了简单的增量计数器,如下所示.
global.counter = 0;
exports.handler = (event, context, callback) => {
// TODO implement
callback(null, ++global.counter);
};
Run Code Online (Sandbox Code Playgroud)
每当我测试这个函数时,我都会按预期增加值.
这是正确的方法还是我需要在云数据库中存储计数器?
Tho*_* L. 17
当您第一次调用Lambda函数时,AWS会在后台引导容器.
当你打电话给你lambda函数几次,你MIGHT得到相同的容器,以优化运行时间和设置延迟.
您不能依赖此行为,但您必须意识到它存在.
对于全局变量,如果需要在Lambda中运行逻辑,它应该为多个函数同时调用相同的代码,因此应该锁定在lambda代码(DB或缓存)之外的某个地方.
问候,
我遇到了同样的问题,我最终使用 AWS Elasticache 服务 (Memcached) 来存储 (key,value) 对。它快速,非常易于使用(至少来自 python)并且可靠。
否则我完全同意 Thomas 的观点,您应该意识到它可能会导致问题,但不要相信这个“功能”。
| 归档时间: |
|
| 查看次数: |
9292 次 |
| 最近记录: |