浏览 1683 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2008-10-31
最后修改:2009-07-16
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企业级缓存(七) 性能调优 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |