浏览 4407 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2009-02-10
最后修改:2009-02-10
看到JE上好几个关于memcached做hibernate二级缓存帖子,不由得兴奋了一把。
作为集中式的缓存实现,的确可以解决JBossCache在大量update时的广播效率问题。
但是,目前我碰到的case,需要有大量的update,同时还期望(最好)能拥有一定的事务性(要求不高,read-commited级别就可以了,也就是Hibernate里面的read-write模式)。
目前不知道到底是hibernate-memcached好还是JBossCache好?
hibernate-memcached 好处:集中式,update后无需广播 坏处:不支持事务 JBossCache 好处:支持事务(但其实我的case不需要那么高隔离级别的事物) 坏处:update后通过广播在各节点之间同步
BTW,问几个很弱的问题 (1)memcached在更新的时候,是否会block其他的读操作;或者,如果有多个请求同时提交写请求,它会怎么办? (2)JBossCache在集群环境下如何实现事务性支持?难道需要等到各个节点都完成同步之后才能最后提交?否则其他节点岂不是很容易读到脏数据?
请熟悉这个领域的大牛大力拍砖!!! 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2009-02-10
一个问题,你的集群规模是多大?如果是双机集群的话,同步的代价其实并不大。
根据需求,你对事务的隔离要求不是太高,那么我觉得这两种方法都可以满足你。如果你集群环境规模较小,直接JBossCache。 如果集群规模较大,但对事务要求不是很高,那么memcached的确很诱人。 |
|
返回顶楼 | |