Apex开发指南--利用缓存去避免governor limit

学习目的
1,利用静态变量做缓存避免governor limit

governor limit

salesforce是一个多租户的云平台,为了是每个租户能够欧公平的使用公共资源,所以平台就多垄断资源的行为做了很多限制。比如查询次数限制,dml操作次数限制,callout限制,future限制等等。那么在实际的开发过程,我们往往存在业务逻辑可能会触碰到这些限制。今天分享一个使用静态变量做缓存避免限制。

静态变量

在定义静态变量上,使用static关键字。
不管是在全局还是局部声明的static变量都存放于程序的全局变量区域,所以它的生命周期是从程序开始到程序结束。但是static变量的作用域并不等同于它的生存周期,它的作用域决定于它被定义的位置。可以认为static变量的作用域<=生存周期。
初始化,在程序初始化的时候,static定义的变量就会初始化一次,并且在整个程序周期,只会初始化一次。

利用静态变量做缓存

在写apex类或者trigger的时候,我们经常会去查询数据,在一个事务里面查询次数是100。有时候一些数据可能我们在每个方法里面都要使用,那么我们是查询一次出来,然后供多个地方使用,还是每次要使用的时候去查询呢?这个很明显,肯定是一次查询,多处使用。以下有一个例子:
在User对象上有一个字段UserIsSpecial__c。如果每次要使用这个字段就去查一次数据库,那么就会过多的增加查询次数。我们可以写一个公共的方法来做缓存。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值