我对使用Hibernate+MemCached有一点未解决考虑:
MemCached背景:使用MemCached保存从数据库select出来的某些数据,MemCached作为应用程序和数据库某些数据之间的一个存储中间级。
应用背景:在使用Hibernate时,实现Hibernate二级缓存接口插入到Hibernate中,通过实践,能够轻松将MemCached和Hibernate进行结合应用到实际应用中。
现在转入正题:
hibernate如何才能*自动*充分利用MemCached提供getMulti能力?
如果使用了本地的二级缓存(e.g:OSCache,EHCache),利用query.iterate一般能够提高系统的性能,因为iterate返回Iterator后,调用Iterator.next返回对象后(这是还没有去查找命中或select该主键对应数据行),获取他属性时会从二级缓存里查找是否命中,因为这个查找是本地查找,所以效率比较高。
OK,我的问题是:
1)如果我使用的是需要网络行为的MemCached,我照本宣科地,调用Iterator.next,访问其属性时,应用程序通过网络访问MemCached,查找是否命中。假如最好情况我每次next都命中,这是最好的。可是有多少个对象,就有多少次网络访问。这样似乎并不划算,可能比直接query.list更慢。
2)如果我每次都只是调用Iterator.next时,把id纪录下来,放到数组中,再把这个数组传给MemCached,去查看这些数据是否命中,这样可以只有一次网络访问(假如只有一台MemCached)。这样解决了多次网络访问的问题,可是却不是hibernate的自动行为,这很没意思,因为:
a)没有命中,怎么办?自己再去session.load对象?
b)命中了,又能怎么样?命中了的这些数据现在并不是Hibernate管理的!
分享到:
相关推荐
总的来说,`hibernate-memcached` 提供了一个方便的途径,让开发人员能够利用Memcached的强大缓存能力来提升基于Hibernate的应用程序的性能。通过正确配置和使用,可以显著减少数据库的负载,提高响应速度,为大规模...
hibernate-memcached, 在Hibernate中,使用Memcached作为第二级分布式缓存的库 休眠 memcachedHibernate中使用Memcached作为第二级分布式缓存的库。基于优秀的spymemcached客户端包含对 Whalin ( danga ) memcached...
这个包是最高版本了,google code是1.22,但是这个版本是基础班的1.5版本.是github上源代码经过我打包出来的jar
当我们将Hibernate与Memcached整合时,可以利用Memcached的高速缓存能力来优化Hibernate的数据访问性能。 在标题提到的“hibernate整合memcached需要的jar包”中,主要包括以下四个关键库: 1. **hibernate-...
整合Hibernate与Memcached,主要是为了利用Memcached的高速缓存特性,优化Hibernate的数据访问性能。`hibernate-memcached-1.1.0-sources.zip`提供的源码实现了一个Hibernate二级缓存提供者,它将Hibernate的查询...
总的来说,结合Hibernate的二级缓存机制和Memcached的分布式缓存能力,可以在项目中实现高效的数据缓存,提升系统的响应速度。同时,了解并掌握Memcached的基本原理和配置方法,对于提升系统架构的优化能力大有裨益...
"memcached"标签表示此项目利用了Memcached作为缓存系统,它可以存储和检索大量数据,减少对数据库的频繁查询,从而提高系统的整体性能和响应时间。 从【压缩包子文件的文件名称列表】"hibernate-memcached-master...
hibernate-memcached-1.1.0.jar
hibernate使用memcached作为二级缓存所需要的资源包,包括memcached的windows安装文件、hibernate3和hibernate4整合memcached的jar包 文件目录:commons-codec-1.10.jar、hibernate3-memcached-1.5.jar、hibernate4-...
memcached-2.5-sources.jar、hibernate-memcached-1.2.2-sources.jar、spy-2.4.jar这三个jar不太好找,剩下两个commons-codec和slf4j-log4j直接maven配置一下就行 <groupId>org.slf4j <artifactId>slf4j-log4j12 ...
hibernate-memcached,一个分布式缓存框架,很强大,这里提供hibernate集成jar
解决目前memcached不支持hibernate4的缺陷,hibernate配置<property name="hibernate.cache.region.factory_class">com.googlecode.hibernate.memcached.MemcachedRegionFactory</property>
《Hibernate与Memcached结合使用详解》 在Java的持久化框架中,Hibernate是备受推崇的一员,它极大地简化了对象关系映射(ORM)的过程。而Memcached则是一种高性能的分布式内存对象缓存系统,用于加速动态Web应用。...
综上所述,这个项目展示了如何在Java环境下,利用Maven构建工具,将Memcached、Hibernate和Spring集成,实现高效的数据缓存策略,提升应用性能。对于开发人员来说,理解和掌握这些配置能帮助他们更好地优化大型...
整合Memcached和Hibernate的主要目的是利用缓存机制来减少对数据库的直接访问,从而提高系统的整体性能。 整合过程通常包括以下几个步骤: 1. **安装与配置Memcached**:首先,你需要在服务器上安装Memcached,并...
google上的这个包最多是1.2.2但是github上是1.3,源代码下载下来后,我打包为jar的
10.1.1 redis相比memcached有哪些优势?
#### 1.5 如何配置Memcached? Memcached服务器的配置主要是通过命令行参数完成的,最常见的是设置最大可用内存大小(-m)、监听的IP地址(-l)和端口(-p)。此外,还可以设置各种其他选项,如是否启用统计信息(-...
1. **hibernate-memcached-1.2.2.jar**:这是Hibernate与Memcached之间的一个适配器,它提供了将Hibernate的二级缓存策略与Memcached服务连接的功能。这个库包含了必要的API和实现,使得Hibernate能够识别并使用...