aws lambda 局部和全局变量的问题整理

因为把创建uuid放到了lambda的全局变量部分,导致插入的数据有问题。这里做一下记录。

需要注意的是,lambda本身是会缓存的。
在顶层的变量,不是这个函数的,是运行时的。
简单说来,在lambda中需要把资源类的得缓存的变量保存在顶层。 函数级别的必须在函数里边新建。
外边建的,一般只有数据库,redis,队列 这些连接,日志,这些初始化一次可以一直用的。
uuid,在这里创建会被前后n个调用的函数公用。
导致只要同一时间插入几个记录,就只能成功一个
这个同一时间的跨度大约在5-15分钟这个级别

所以各种语言的语言规范里都有一条,慎重使用全局变量。如果没有足够的理由,不要使用。 在lambda这并没有失效。。 写程序的一个好习惯是把变量的作用域放到你能控制的最小。 在lambda这边,你可能会困扰几个函数之间没法共享数据,是的,就是没法,你只能用参数传递。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值