再谈集群环境下Hibernate的二级缓存(memcached VS JBossCahce)

看到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在集群环境下如何实现事务性支持?难道需要等到各个节点都完成同步之后才能最后提交?否则其他节点岂不是很容易读到脏数据?

 

 

请熟悉这个领域的大牛大力拍砖!!!

你可能感兴趣的:(Hibernate,memcached)