Coherence企业级缓存(四) 数据管理模式

系统 1665 0
Coherence提供了四种Cache数据管理模式:
Read-Through,
Write-Through,
Refresh-Ahead
Write-Behind

数据管理模式体现在CacheStore 接口的功能上。
CacheStore负责直接和数据源交互,进行增删改查操作;并也负责和Coherence Cache交互,向其中写数据(put),读数据(get)和删除数据(remove)。CacheStore相当于 数据源和Cache间的桥梁。

对于不同的应用,由于数据源不同,如:DB,WebService ,FileSystem等, CacheStore有不同的实现。它一般作为应用的一部分。Coherence也为 Hibernate,Toplink等实现了一个CacheStore。


5.1 Read-Through
Read-Through 的基本特点是同步读取。步骤为:
1)应用调用 CacheStore 查询数据X;
2)CacheStore 去Cache中查询,未发现数据时,向数据库执行查询操作,并将查询结果放到 Cache中, 并将结果返回给应用;
3)如果发现Cache中有数据,则直接从Cache读取,并返回给应用。
其特点体现在第二步,CacheStore调用 cache.get(X) 到 CacheStore 给应用返回数据,是同步操作。 也就是要在一个同步过程中先等待数据查询,Cache被填充,才能获得数据。 这种模式的性能比较低,不及 Refresh-Ahead。

5.2 Write-Through
Write-Through 对应于数据修改操作,如 update,也具有同步的特点。
1)应用调用 CacheStore update数据X;
2)CacheStore 先update Cache中的数据,然后再向数据库执行update操作;
这种模式在一个同步过程中,先改Cache,再改数据库。因此性能也不是最理想的。

5.2 Refresh-Ahead
与Read-Through相对,它是异步的。
Coherence在Cache数据过期前,有CacheStore自动重新从数据库加载数据。而前台应用在查询数据时,CacheStore 仅调用Cache.get(X)。因此这种模式的效率明显高于read-through。 自动重载数据的时间可以设定。

5.2 Write-behind
与write-through相对,它是异步的。
应用调用CacheStore进行update时,CacheStore不去操作数据库,直接返回结果。而Coherence集群自动对操作进行排队(queue),在间隔一段时间后(interval), CacheStore在执行队列中的 update 操作。 这样,减少的同步操作数据库的时间被节省,修改类功能的性能就能得到大幅提高。这也是Coherence的一大特色。


Coherence企业级缓存(一) 特点
Coherence企业级缓存(二) QuickStart和编程
Coherence企业级缓存(三) 四种缓存类型
Coherence企业级缓存(四) 数据管理模式
Coherence企业级缓存(五)与Hibernate集成(1)
Coherence企业级缓存(五)与Hibernate集成(2)
Coherence企业级缓存(六) JMX 管理和监控
Coherence企业级缓存(七) 性能调优

Coherence企业级缓存(四) 数据管理模式


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论