配置所用到的版本:spring 3.X,hibernate 3.5
1.二级缓存的提供者com.googlecode.hibernate.memcached.MemcachedCacheProvider 下载地址:http://code.google.com/p/hibernate-memcached/downloads/list
2.memcached服务器端安装
window xp下载地址:http://www.splinedancer.com/memcached-win32/
安装:memcached.exe -d install 启动:memcached.exe -d start
memcached的默认端口是:11211
3.spring下的配置如下:
<!-- hibernate-memcache配置-->
<!-- 开启二级缓存-->
<prop key="hibernate.cache.use_second_level_cache">true</prop>
<!-- 设置缓存类-->
<prop key="hibernate.cache.provider_class">
com.googlecode.hibernate.memcached.MemcachedCacheProvider</prop>
<!-- 设置memcache缓存服务器端口 -->
<prop key="hibernate.memcached.servers">127.0.0.1:11211</prop>
<!-- 设置二级缓存的前缀名称 -->
<prop key="hibernate.cache.region_prefix">quality.cache.ehcache</prop>
<!-- 否使用结构化的方式缓存对象-->
<prop key="hibernate.cache.use_structured_entries">true</prop>
<!-- 是否缓存查询结果 -->
<prop key="hibernate.cache.use_query_cache">true</prop>
4.在启动项目时候会需要如下jar包slf4j-api-1.6.1.jar,slf4j-simple-1.6.1.jar.
启动时必须启动memcached,不然会报错
5.对于要使用缓存的PO,在对应的po.hbm.xml中加入<cache usage="read-only"/>,此配置可以自己灵活掌握,不懂的可以查看hibernate官方文档
6.在web.xml中加入
<filter>
<filter-name>hibernateFilter</filter-name>
<filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>hibernateFilter</filter-name>
<url-pattern>*.do</url-pattern>
</filter-mapping>
现在hibernate用Memcached做二级缓存的配置全部做完,自己可以做一下测试.
请谨慎使用二级缓存
7.客服端调用测试工具类,我自己随便写了一个,只供参考:
我使用的spy做为Memcached客服端调用.下载地址:
http://code.google.com/p/spymemcached/
import java.io.IOException;
import java.net.InetSocketAddress;
import net.spy.memcached.MemcachedClient;
public class MemUtil {
static MemcachedClient mc =null;
final static MemUtil mu=null;
static{
try {
InetSocketAddress ica = new InetSocketAddress("127.0.0.1", 11211);
mc = new MemcachedClient(ica);
//mc.connectionLost(ica);
//mc
} catch (IOException e) {
e.printStackTrace();
}
}
public static MemUtil getIntance(){
if(null==mu)return new MemUtil();
return mu;
}
public void put(String key ,Object value){
//mc.add(key, exp, o)
mc.add(key, 9000, value);//过期时间
}
public Object get(String key){
return mc.get(key);
}
public static void main(String[] args) {
MemUtil mu = MemUtil.getIntance();
mu.put("name", "value");
System.out.println(mu.get("name"));
}
}
分享到:
相关推荐
标题中的“memcache也spring,hibernate的配置”指的是如何在Java开发环境中,结合Memcached缓存系统、Spring框架和Hibernate持久化框架进行集成配置。Memcached是一种高性能的分布式内存对象缓存系统,用于加速动态...
3. **配置文件**:如`hibernate.cfg.xml`和`spring-context.xml`,分别配置Hibernate和Spring的设置,包括数据库连接、实体映射和Memcached的配置。 4. **Memcached客户端库**:可能有第三方库如spymemcached,用于...
在构建Web应用程序时,"Spring4+SpringMVC+mysql+memcached【同时支持mybatis+hibernate两种底层操作框架】"是一个常见的技术栈,它涵盖了多个关键组件,为高效、灵活的开发提供了坚实的基础。以下是这个技术组合中...
在这个“memcached-master”压缩包中,很可能包含了完整的示例代码,包括Spring配置、Hibernate实体、以及使用缓存的业务逻辑。通过学习和分析这些代码,你可以了解如何在实际项目中实现memcached、Hibernate4和...
- 创建一个Memcached配置类,声明一个`MemcachedClient` bean,并配置服务器地址、池大小等参数。 - 配置Spring的缓存抽象,将memcached作为缓存 provider,例如: ```xml ...
在本项目中,性能瓶颈主要出现在Hibernate的XML配置解析和Spring容器的bean初始化上。首先,针对Hibernate的性能优化,可以从减少XML解析开销入手。按照hibernate.org上的建议,可以通过将XML配置序列化到本地文件,...
对于初学者来说,这些都是提升技能的好机会,可以尝试使用Spring Security进行权限控制,使用JavaMailSender发送邮件,或者引入Redis或Memcached进行数据缓存。 总之,这个项目涵盖了SpringMVC、Hibernate和Spring...
在开发企业级Java应用时,Spring MVC和Hibernate是两个非常重要的框架。Spring MVC负责处理HTTP请求,构建MVC模式的应用,而Hibernate则是用于对象关系映射(ORM),简化数据库操作。在本教程中,我们将探讨如何使用...
### Hibernate配置二级与三级缓存详解 在Java开发领域中,Hibernate作为一种流行的ORM(对象关系映射)框架,被广泛应用于数据库操作。为了提高应用程序的性能,Hibernate支持多种级别的缓存机制,其中最为常见的是...
SpringMVC + Spring3.1.1 + Hibernate4.1.0 是一个经典的Java Web开发技术栈,用于构建高效、可扩展的企业级应用程序。在这个组合中,SpringMVC作为前端控制器处理HTTP请求,Spring框架提供了服务层管理和依赖注入,...
### Struts + Spring + Hibernate 资料 #### 1. Hibernate 的并发机制与处理并发问题的方法 **并发机制概述**: - **Session 对象的线程安全性**:Hibernate 的 Session 对象并不是线程安全的,这意味着对于每一...
本篇将详细讲解如何配置Memcached作为Hibernate 4的二级缓存,以及相关的知识点。 首先,我们需要了解什么是Memcached。Memcached是一款高性能、分布式内存对象缓存系统,它用于存储中间结果或临时数据,以减少对...
2. **Hibernate Provider**:如果使用Hibernate作为ORM框架,可以自定义Hibernate缓存提供者,将Memcached作为二级缓存。这样,Hibernate查询的结果会被缓存起来,提高数据库访问效率。 3. **Session复制**:利用...
3.xmemcached,XMemcached也使用得比较广泛,而且有较详细的中文API文档,具有如下特点:高性 能、支持完整的协议、支持客户端分布、允许设置节点权重、动态增删节点、支持JMX、与Spring框架和Hibernate-memcached的...
它还提供了丰富的特性,如支持完整的协议、客户端分布、节点权重设置、动态增删节点、JMX支持、Spring和Hibernate-memcached集成、连接池功能以及良好的可扩展性。 **推荐与建议** 考虑到官方客户端的新版本在性能...
jrelax Java开发框架,适用于企业级的通用产品项目开发,此框架的第一目的是:提高开发效率。 ...Spring Hibernate Memcached / Redis Velocity 模板 基于JVM的事件注册机制 灵活可扩展的插件机制
它提供了丰富的类库和框架,如Spring、Hibernate等,使得开发高效、可维护的软件变得更加容易。 MySQL是一款开源的关系型数据库管理系统(RDBMS),它是许多网站和应用程序背后的强大数据存储解决方案。MySQL以其高...
在整合Spring MVC和Hibernate的过程中,要注意配置的准确性,确保依赖库的兼容性,并优化性能,如使用缓存和合适的数据库连接池。同时,良好的测试策略和规范的代码组织结构也是项目成功的关键。通过逐步完善,可以...