- 浏览: 114642 次
- 性别:
- 来自: 宁波
文章分类
最新评论
今天在网上看到一个用Memcached作为Hibernate二级分布式缓存,感觉挺有兴趣,就是尝试用了,感觉还不错,就推荐给大家看一下。
官方网址: http://code.google.com/p/hibernate-memcached/
目前最新版本为1.0, 支持Hibernate3.3.
下面是具体的使用方法:
hibernate-memcached需要支持的类库如下:
配置方法如下:
配置Hibernate使用cache提供类
hibernate.cache.provider_class
com.googlecode.hibernate.memcached.MemcachedCacheProvider
hibernate.cache.use_query_cache
true
其它一些参数设置说明:
Property
Default
Description
hibernate.memcached.servers
localhost:11211
memcached 服务地址,多个用空格分隔
格式host:port
hibernate.memcached.cacheTimeSeconds
300
缓存失效时间,单位秒
hibernate.memcached.keyStrategy
HashCodeKeyStrategy
缓存Key生成存储HashCode算法
hibernate.memcached.readBufferSize
DefaultConnectionFactory.DEFAULT_READ_BUFFER_SIZE
从服务器读取数据缓存区大小
hibernate.memcached.operationQueueLength
DefaultConnectionFactory.DEFAULT_OP_QUEUE_LEN
Maximum length of the operation queue returned by this connection factory
hibernate.memcached.operationTimeout
DefaultConnectionFactory.DEFAULT_OPERATION_TIMEOUT
操作超时时间设置
hibernate.memcached.hashAlgorithm
HashAlgorithm.KETAMA_HASH
新增缓存数据到服务器时使用的Hash散列算法。 当 hibernate-memcached 设置成 KETAMA_HASH算法时,注意:默认客户端API使用的是 HashAlgorithm.NATIVE_HASH
hibernate.memcached.clearSupported
false
支持MemcachedCache.clear()方法清空缓存。
建议不要开启。
配置示例(本文以Hibernate3.3-entitymanager为例)
配置 persistence.xml文件
<persistence xmlns="http://java.sun.com/xml/ns/persistence"" target="_new">http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd" version="1.0">
<persistence-unit name="entityManager" transaction-type="RESOURCE_LOCAL">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<jta-data-source>java:comp/env/jdbc/qualitydb</jta-data-source>
<properties>
<property name="hibernate.dialect" value="org.hibernate.dialect.PostgreSQLDialect" />
<property name="hibernate.max_fetch_depth" value="3" />
<property name="hibernate.show_sql" value="true" />
<property name="hibernate.cache.region_prefix" value="quality.cache.ehcache"/>
<property name="hibernate.cache.use_second_level_cache" value="true"/>
<property name="hibernate.cache.use_structured_entries" value="true"/>
<property name="hibernate.cache.use_query_cache" value="true"/>
<property name="hibernate.cache.provider_class" value="com.googlecode.hibernate.memcached.MemcachedCacheProvider"/>
<property name="hibernate.memcached.servers" value="localhost:11211"/>
</properties>
</persistence-unit>
</persistence>
启动后,提示如下:
2008-08-28 17:10:08,312 JCLLoggerAdapter.java265 INFO -- Starting MemcachedClient...
2008-08-28 17:10:08.718 INFO net.spy.memcached.MemcachedConnection: Added {QA sa=localhost/127.0.0.1:11211, #Rops=0, #Wops=0, #iq=0, topRop=null, topWop=null, toWrite=0, interested=0} to connect queue
2008-08-28 17:10:08.750 INFO net.spy.memcached.MemcachedConnection: Connection state changed for sun.nio.ch.SelectionKeyImpl@16e59da
表示我们第一步配置已经成功了,接下来,对需要进行缓存的Entity进行配置
2 @Cache(usage = CacheConcurrencyStrategy.READ_WRITE)//设置要求缓存
3 public class Student {
4
5 @Id
6 @Column(length=32)
7 private String id;
8
9 @Column(length=20)
10 private string name;
11
12 @OneToMany
13 @Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
14 private Set<Book> books;
15
16 }
Ok,现在配置已经完成。
Good Luck!
Yours Matthew!
发表评论
-
一次Java垃圾收集调优实战
2011-01-04 21:45 1441 资料 JDK5.0垃圾收集优化之--Don't ... -
架构师必读书籍
2011-01-04 21:40 476年又过年,去年在写在译的书又长出了一茬,又是时候订一份今 ... -
工作流相关
2011-01-04 10:09 780微内核工作流引擎体系架构与部分解决方案参考 -
jsp/servlet相关
2010-12-30 20:22 1126Servlet/JSP学习笔记(1)-tomcat和eclip ... -
memcached相关
2010-12-30 20:03 845memcached完全剖析-1.memcached基础: h ... -
Hibernate 和 memcached 的集成问题
2010-12-30 19:53 1029做过的项目中Hibernate都是直接采用ehcache做为缓 ... -
数据库推荐
2010-12-30 19:09 695基于mysql的数据库集群系统的实现: http://hi. ... -
hadoop推荐
2010-12-30 15:27 820CSDN hadoop专题 http://subject. ... -
java与内存文章推荐
2010-12-30 10:58 743内存详解:理解jvm如何使用windows和linux上的内存 ... -
lucene相关
2010-12-29 20:12 772深入 Lucene 索引机制 http://www.i ... -
String的理解
2010-12-29 15:49 730本文是对http://www.iteye.com/topic/ ... -
Tomcat虚拟主机及Root Context配置
2010-12-12 21:44 9821.虚拟主机 对一个Tomcat,可以配置多台虚拟主机。 ... -
转载来的过来经典java网站
2010-12-04 22:30 739一个朋友给我的希望大家喜欢,自己留个备份,没事逛逛!!http ... -
继续Open Session In View
2010-12-04 22:26 988转自:http://www.iteye.com/top ... -
j2ee中的事务浅谈(转)
2010-12-04 21:50 705事务是企业应用开发中的重要概念,对于部分 Web 应用,事务也 ... -
Tomcat6 使用 NIO
2010-12-04 21:49 891首先,何谓nio? ... -
深入探讨 Java 类加载器2
2010-12-04 21:44 561开发自己的类加载器 我的天,爱死这作者了!!(转载 ... -
通过 Tomcat Advanced I/O 获得高性能的 Ajax
2010-12-04 21:19 711转自:http://www.ibm.com/develop ... -
Servlet 3.0 实战:异步 Servlet 与 Comet 风格应用程序
2010-12-04 21:16 777转自http://www.ibm.com/develo ... -
深入探讨类加载器(转)
2010-12-04 20:08 624文章来自http://www.ibm.com/ ...
相关推荐
hibernate-memcached, 在Hibernate中,使用Memcached作为第二级分布式缓存的库 休眠 memcachedHibernate中使用Memcached作为第二级分布式缓存的库。基于优秀的spymemcached客户端包含对 Whalin ( danga ) memcached...
这个包是最高版本了,google code是1.22,但是这个版本是基础班的1.5版本.是github上源代码经过我打包出来的jar
用于hibernate集成memcached作为二级缓存所需要的包,1.2.2版本
hibernate-memcached-1.1.0-sources.zip
hibernate-memcached-1.1.0.jar
hibernate-memcached,一个分布式缓存框架,很强大,这里提供hibernate集成jar
NULL 博文链接:https://dixian.iteye.com/blog/930677
hibernate-memcached-1.1.0-javadoc.zip
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 ...
google上的这个包最多是1.2.2但是github上是1.3,源代码下载下来后,我打包为jar的
hibernate使用memcached作为二级缓存所需要的资源包,包括memcached的windows安装文件、hibernate3和hibernate4整合memcached的jar包 文件目录:commons-codec-1.10.jar、hibernate3-memcached-1.5.jar、hibernate4-...
hibernate-memcached-1.2.2.jar memcached-2.3.1.jar slf4j-api-1.7.12.jar slf4j-log4j12-1.5.0.jar
memcached作为hibernate二级缓存必备的jar包.包含hibernate-memcached-1.2.2.jar memcached-2.1.jar spy-2.4.jar
ehcache 二级缓存 配置使用的jar包 配置如下: <!-- 启用二级缓存 --> <property name="hibernate.cache.use_second_level_cache">true <!-- 查询的二级缓存配置 --> <property name="hibernate....
解决目前memcached不支持hibernate4的缺陷,hibernate配置<property name="hibernate.cache.region.factory_class">com.googlecode.hibernate.memcached.MemcachedRegionFactory</property>
memcached-2.1.jar
用memcached实现 Hibernate4二级缓存的实例源码。
memcache的客户端,用maven构建,里有用hibernate-memcached与hibernate,spring3.0进行配置,也有与spring3.0单独配置。
3.xmemcached,XMemcached也使用得比较广泛,而且有较详细的中文API文档,具有如下特点:高性 能、支持完整的协议、支持客户端分布、允许设置节点权重、动态增删节点、支持JMX、与Spring框架和Hibernate-memcached的...
这是maven工程,解压后直接导入eclipse,就可以使用了