论坛首页 入门技术论坛

Hibernate的优化:Cache

浏览 14320 次
该帖已经被评为新手帖
作者 正文
   发表时间:2010-07-28  
分离的北极熊 写道
Hibernate 不是采取的Oscache做的二级缓存么…………

为什么还要单独的去换其他的缓存框架来做二级缓存?

理由是什么

这个问题的产生并不是因为更换了二级缓存,而是hibernate的机制。它必须维护着数据库连接去cache查找数据,然后返回。应为这一系列操作是个事务,hibernate无法判断哪些数据在cache中没有,所以实现起来就必须这样。
至于oscache和memcached的区别、优劣,看来你对memcached不太了解,查阅一下相关资料吧。
0 请登录后投票
   发表时间:2010-07-28  
aiyanbo 写道
hibernate 自身的缓存机制就已经够完善了 包括了楼主所说的 一级缓存和二级缓存...可以直接使用,,,不过楼主钻研的精神值得我们每一个人学习的.

这不是为了钻研。hibernate本身产生是为了企业级开发,当用到互联网应用上的时候必然出现这样那样的问题。出了问题了,性能不符合要求,必须要分析和优化。而且,针对不同的应用场景,确实可以采用不同的方法进行优化达到性能上的要求。
0 请登录后投票
   发表时间:2010-07-28  
kaowww153 写道
分离的北极熊 写道
Hibernate 不是采取的Oscache做的二级缓存么…………

为什么还要单独的去换其他的缓存框架来做二级缓存?

理由是什么

Oscache也是第三方的,hibernate本身只有一个只能放在内存里的缓存只能测试时用,叫什么名字忘了。

是想说EHCache?oscache也好,ehcache也好,memcached也好,都是放在内存里的缓存,这样才能提高读取速度。即便是硬盘式的缓存Tokyo Tyrant,也是在内存里维护了一个缓存区。
0 请登录后投票
   发表时间:2010-07-28  
学习了,有机会好好研究下
0 请登录后投票
   发表时间:2010-07-28  
my_corner 写道
kaowww153 写道
分离的北极熊 写道
Hibernate 不是采取的Oscache做的二级缓存么…………

为什么还要单独的去换其他的缓存框架来做二级缓存?

理由是什么

Oscache也是第三方的,hibernate本身只有一个只能放在内存里的缓存只能测试时用,叫什么名字忘了。

是想说EHCache?oscache也好,ehcache也好,memcached也好,都是放在内存里的缓存,这样才能提高读取速度。即便是硬盘式的缓存Tokyo Tyrant,也是在内存里维护了一个缓存区。

很显然我说的不是ehcache,ehcache地球人都知道,而且是可以支持硬盘的,我说的是org.hibernate.cache.HashtableCacheProvider
0 请登录后投票
   发表时间:2010-07-28  
Tokyo Tyrant 这个名字起的真...
0 请登录后投票
   发表时间:2010-07-28  
ehcache是java进程管理的cache吧
0 请登录后投票
   发表时间:2010-07-28  
kaowww153 写道
my_corner 写道
kaowww153 写道
分离的北极熊 写道
Hibernate 不是采取的Oscache做的二级缓存么…………

为什么还要单独的去换其他的缓存框架来做二级缓存?

理由是什么

Oscache也是第三方的,hibernate本身只有一个只能放在内存里的缓存只能测试时用,叫什么名字忘了。

是想说EHCache?oscache也好,ehcache也好,memcached也好,都是放在内存里的缓存,这样才能提高读取速度。即便是硬盘式的缓存Tokyo Tyrant,也是在内存里维护了一个缓存区。

很显然我说的不是ehcache,ehcache地球人都知道,而且是可以支持硬盘的,我说的是org.hibernate.cache.HashtableCacheProvider


Oscache 既支持内存也支持硬盘缓存的,可以缓存任何对象……

memcached 确实没了解过,有时间去查阅下资料
0 请登录后投票
   发表时间:2010-07-28  
我也遇到了同样的问题,当时很是费解,为什么日志上都输出了sql语句可数据库连接还是这么高?现在终于明白了。哈哈
0 请登录后投票
   发表时间:2010-07-28  
oscache,ehcache 是java进程管理的需要启动jvm的,高并发的情况下是否消耗cpu资源?
0 请登录后投票
论坛首页 入门技术版

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