一:详细配置步骤

1,添加ehcache.xml文件

将ehcache.xml文件添加到src路径下面。ehcache.xml文件内容如下

  1. <ehcache>
  2. <diskStore path="java.io.tempdir" />
  3. <defaultCache maxElementsInMemory="1000" eternal="false"
  4. timeToIdleSeconds="120" timeToLiveSeconds="120" overflowToDisk="true" />
  5. <cache name="ehcacheName" maxElementsInMemory="10000"
  6. eternal="false" timeToIdleSeconds="300000" timeToLiveSeconds="600000"
  7. overflowToDisk="true" />
  8. </ehcache>

2,添加spring配置文件

在applicContext.xml文件中添加

  1. <bean id="cacheManagerFactory"
  2. class="org.springframework.cache.ehcache.EhCacheManagerFactoryBean"
  3. p:configLocation="classpath:ehcache.xml"></bean>
  4. <!-- 声明cacheManager -->
  5. <bean id="cacheManager" class="org.springframework.cache.ehcache.EhCacheCacheManager"
  6. p:cacheManager-ref="cacheManagerFactory" ></bean>

二:使用

1,定义EHCache工具方法

  1. public class EHCache {
  2. private static final CacheManager cacheManager = new CacheManager();
  3. private Cache cache;
  4. public EHCacheService(){
  5. this.cache=cacheManager.getCache("ehcacheName")
  6. }
  7. public Cache getCache() {
  8. return cache;
  9. }
  10. public void setCache(Cache cache) {
  11. this.cache = cache;
  12. }
  13. /*
  14. * 通过名称从缓存中获取数据
  15. */
  16. public Object getCacheElement(String cacheKey) throws Exception {
  17. net.sf.ehcache.Element e = cache.get(cacheKey);
  18. if (e == null) {
  19. return null;
  20. }
  21. return e.getValue();
  22. }
  23. /*
  24. * 将对象添加到缓存中
  25. */
  26. public void addToCache(String cacheKey, Object result) throws Exception {
  27. Element element = new Element(cacheKey, result);
  28. cache.put(element);
  29. }
  30. }

2,测试

  1. public class Test{
  2. EHCache ehCache = new EHCache();
  3. public void Test(){
  4. //测试将json对象存入缓存中
  5. JSONObject obj = new JSONObject();
  6. obj.put("name","lsz");
  7. ehCache.addToCache("cache_json",obj);
  8. //从缓存中获取
  9. JSONObject getobj = (JSONObject)ehCache.getCacheElement("cache_json");
  10. System.out.println(getobj.toString());
  11. }
  12. }

三:问题解决

1,框架环境是自己搭建的,添加ehcache后运行出错:

org.springframework.beans.factory.parsing.BeanDefinitionParsingException: Configuration problem: Unable to locate Spring NamespaceHandler for XML schema namespace [http://www.springframework.org/schema/cache]
Offending resource: class path resource [applicationContext.xml]

出现这种问题,原因是因为在applicationContext.xml文件中 多加了

<cache:annotation-driven cache-manager="cacheManager" /> 将其去掉即可

2,框架需要添加jar包

spring-context-support-3.2.0.RELEASE.jar

spring-context-3.2.0.RELEASE.jar

ehcache 缓存的更多相关文章

  1. [原创]mybatis中整合ehcache缓存框架的使用

    mybatis整合ehcache缓存框架的使用 mybaits的二级缓存是mapper范围级别,除了在SqlMapConfig.xml设置二级缓存的总开关,还要在具体的mapper.xml中开启二级缓 ...

  2. 深入探讨在集群环境中使用 EhCache 缓存系统

    EhCache 缓存系统简介 EhCache 是一个纯 Java 的进程内缓存框架,具有快速.精干等特点,是 Hibernate 中默认的 CacheProvider. 下图是 EhCache 在应用 ...

  3. EhCache缓存

    EhCache缓存 EhCache 是一个纯Java的进程内缓存框架,具有快速.精干等特点,是Hibernate中默认的CacheProvider. Ehcache是一种广泛使用的开源Java分布式缓 ...

  4. 我们究竟什么时候可以使用Ehcache缓存

    一.Ehcache是什么 EhCache是Hibernate的二级缓存技术之一,可以把查询出来的数据存储在内存或者磁盘,节省下次同样查询语句再次查询数据库,大幅减轻数据库压力. 二.Ehcache的使 ...

  5. mybatis0210 mybatis和ehcache缓存框架整合

    .1mybatis和ehcache缓存框架整合 一般不用mybatis来管理缓存而是用其他缓存框架在管理缓存,因为其他缓存框架管理缓存会更加高效,因为别人专业做缓存的而mybatis专业做sql语句的 ...

  6. (转)深入探讨在集群环境中使用 EhCache 缓存系统

    简介: EhCache 是一个纯 Java 的进程内缓存框架,具有快速.精干等特点,是 Hibernate 中默认的 CacheProvider.本文充分的介绍了 EhCache 缓存系统对集群环境的 ...

  7. 我们究竟什么时候可以使用Ehcache缓存(转)

    一.Ehcache是什么 EhCache是Hibernate的二级缓存技术之一,可以把查询出来的数据存储在内存或者磁盘,节省下次同样查询语句再次查询数据库,大幅减轻数据库压力. 二.Ehcache的使 ...

  8. JAVAEE——BOS物流项目12:角色、用户管理,使用ehcache缓存,系统菜单根据登录人展示

    1 学习计划 1.角色管理 n 添加角色功能 n 角色分页查询 2.用户管理 n 添加用户功能 n 用户分页查询 3.修改Realm中授权方法(查询数据库) 4.使用ehcache缓存权限数据 n 添 ...

  9. Shiro入门之二 --------基于注解方式的权限控制与Ehcache缓存

    一  基于注解方式的权限控制 首先, 在spring配置文件applicationContext.xml中配置自动代理和切面 <!-- 8配置自动代理 -->    <bean cl ...

  10. Springboot整合Ehcache缓存

    Pom.xml导包 <!-- ehcache --> <dependency> <groupId>org.springframework.boot</grou ...

随机推荐

  1. C#Winform从页面获取数据,传入数据库

    环境: 1.SQLite数据库新建数据表,设置相应的字段.(其他数据库形式都相似,using相应数据库的包即可) 2.页面有两个textBox:textBox1.textBox2, 3.一个保存按钮: ...

  2. arm-linux-gcc-4.3.2安装步骤

        安装交叉编译工具链: 1.首先以root用户登入 2.复制arm-linux-gcc-4.3.2.tgz到根目录下tmp文件夹里 3.解压命令tar xvzf arm-linux-gcc-4. ...

  3. 屏蔽Win10升级通知方法

    对于有系统洁癖的我来说,不喜欢还原和自动升级,我更乐意使用全新安装的方式来装系统! 据说微软也知道这种方式有时候的确很讨人嫌,因此就低调的在美国微软社区中给出了屏蔽这项通知的官方"大法&qu ...

  4. 标签navtab

    创建navtab 创建一个navtab有以下两种方式: 1.Data属性:DOM添加属性data-toggle="navtab"后,单击触发. a链接示例: <a href= ...

  5. primitive数据类型

    /*primitive数据类型 *primitive主要是用来存储原始的数据 *boolean\byte\short\int\long\double **/public class Shujuleix ...

  6. Java(JVM运行时)各种内存区域详解及扩展

    本文整理于  Java内存与垃圾回收调优 Java 堆内存 从几个sample来学习Java堆,方法区,Java栈和本地方法栈 首先来一张图让我们理清楚java运行时状态: 诚然,如上图所示:java ...

  7. (转)js的左右滑动触屏事件

    原文:http://blog.sina.com.cn/s/blog_6a0a183f0100zsfk.html (2012-01-20 08:55:53) 转载▼ 标签: 移动设备 触屏事件 杂谈 分 ...

  8. Chapter 4: Tomcat Default Connector

    一.概述 第三章介绍的connector是一个很好的学习工具,但是我们还可以做的更多.这一章介绍的是Tomcat4默认的connector. 一个Tomcat的connector是一个独立的模块,能够 ...

  9. 解决:HotSeat短信图标提醒有误

    [操作步骤]正常收发短信.彩信. [测试结果]所有短信均已阅读,但在HOME界面的短信图标仍提示有一条短信未读.重启后仍存在. 经过分析,导致该情况的主要原因为当彩信已读的时候,launcher中进行 ...

  10. Discuz 插件制作之后台常用函数详解

    目录 showsetting()表单显示 cpmsg()提示消息 showformheader()创建表单头 showformfooter()创建表单尾 showtableheader()创建表格头 ...