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

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企业级缓存(七) 性能调优

你可能感兴趣的:(Hibernate,webservice,cache,Blog,企业应用)