论坛首页 Java企业应用论坛

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

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

 

 

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

   发表时间:2009-02-10  
一个问题,你的集群规模是多大?如果是双机集群的话,同步的代价其实并不大。
根据需求,你对事务的隔离要求不是太高,那么我觉得这两种方法都可以满足你。如果你集群环境规模较小,直接JBossCache。
如果集群规模较大,但对事务要求不是很高,那么memcached的确很诱人。
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics