课程章节介绍
今天我们来聊聊Salesforce里的缓存,特别是两种比较特殊的缓存:`SYS`和`OrgPartition`。
你之前可能接触过`Session`缓存,它和用户的一次会话绑定,会话结束缓存就没了。而`SYS`和`OrgPartition`呢,基本原理跟会话缓存很像,都是用来临时存一些数据,让访问更快,但它们适用的范围和限制不一样。
首先说一下它们的限制:数据最多能存,1000 KB,,也就是1兆左右;存活时间最长是,48小时,。默认情况下,如果你用组织级别的缓存,它的寿命是,24小时,,除非你手动改了设置。最重要的是——它们可以,跨会话、跨用户、甚至可以跨配置文件共享,。也就是说,不同人在不同时间登录,都能拿到同一份缓存数据,非常适合存一些不经常变动的公共信息。
接下来,在Visualforce页面里怎么用这些缓存呢?很简单,你可以直接用全局变量`$Cache.Session`和`$Cache.SYS`,然后用点号像访问对象一样,读出里面的属性和方法。比如你要取一个存好的值,直接写`$Cache.SYS.myNamespace.MyPartition.myKey`就行了。
这里有个区别要特别注意:如果你用的是,Cache Builder,这种方式来管理缓存,那键的名字要用实现类的名称,并且后面要跟上`_B`这个后缀,作为限定。这样才能正确找到。
另外,跟Apex代码里不一样,你在Visualforce的全局变量中,不能省略命名空间,和,分区的前置,。也就是说,你必须写全路径:命名空间.分区.具体的键名,少一个都不行。
总结一下:`SYS`和`OrgPartition`是一种长生命周期的、共享程度更高的缓存,适合放一些公共数据;在页面上使用它,记住路径要写完整,用点号访问,如果是Cache Builder生成的,键名要加`_B`。
好了,这部分内容就到这里,有什么问题可以随时提问。
关键词
Apex
Salesforce
Developer Guide