自从Ehcache 到了1.2+的版本,就支持分布式缓存了

Spring + Hibernate的结构 ,ehcache的对这几个框架的支持较好,就采用这个缓存方案

下面是配置文件:

<ehcache> <diskStore path="java.io.tmpdir" />

<defaultCache maxElementsInMemory="10000"       eternal="false"    timeToIdleSeconds="120"    timeToLiveSeconds="120"    overflowToDisk="true"    maxElementsOnDisk="10000000"    diskPersistent="false"    diskExpiryThreadIntervalSeconds="120"    memoryStoreEvictionPolicy="LRU" >    </defaultCache> <cache name="smapCache"       maxElementsInMemory="10000"       eternal="false"    timeToIdleSeconds="3600"    timeToLiveSeconds="3600"    overflowToDisk="true"    maxElementsOnDisk="10000000"    diskPersistent="false"    diskExpiryThreadIntervalSeconds="120"    memoryStoreEvictionPolicy="LRU">     </cache>

</ehcache>

下面是分布式缓存配置

<ehcache> <diskStore path="java.io.tmpdir" />

<!--自动查找局域网中分布式的peer 。也可手工指定节点的地址的,如:peerDiscovery=manual,rmiUrls=//server1:40000/sampleCache1 --> <cacheManagerPeerProviderFactory    class="net.sf.ehcache.distribution.RMICacheManagerPeerProviderFactory"    properties="peerDiscovery=automatic, multicastGroupAddress=230.0.0.1, multicastGroupPort=4446" />

<cacheManagerPeerListenerFactory    class="net.sf.ehcache.distribution.RMICacheManagerPeerListenerFactory" />

<defaultCache maxElementsInMemory="10000"       eternal="false"    timeToIdleSeconds="120"    timeToLiveSeconds="120"    overflowToDisk="true"    maxElementsOnDisk="10000000"    diskPersistent="false"    diskExpiryThreadIntervalSeconds="120"    memoryStoreEvictionPolicy="LRU" >    </defaultCache> <cache name="smapCache"       maxElementsInMemory="10000"       eternal="false"    timeToIdleSeconds="3600"    timeToLiveSeconds="3600"    overflowToDisk="true"    maxElementsOnDisk="10000000"    diskPersistent="false"    diskExpiryThreadIntervalSeconds="120"    memoryStoreEvictionPolicy="LRU">   <cacheEventListenerFactory          class="net.sf.ehcache.distribution.RMICacheReplicatorFactory"/>    </cache>

</ehcache>

必须属性: name:设置缓存的名称,用于标志缓存,惟一 maxElementsInMemory:在内存中最大的对象数量 maxElementsOnDisk:在DiskStore中的最大对象数量,如为0,则没有限制 eternal:设置元素是否永久的,如果为永久,则timeout忽略 overflowToDisk:是否当memory中的数量达到限制后,保存到Disk

可选的属性: timeToIdleSeconds:设置元素过期前的空闲时间 timeToLiveSeconds:设置元素过期前的活动时间 diskPersistent:是否disk store在虚拟机启动时持久化。默认为false diskExpiryThreadIntervalSeconds:运行disk终结线程的时间,默认为120秒 memoryStoreEvictionPolicy:策略关于Eviction

缓存子元素: cacheEventListenerFactory:注册相应的的缓存监听类,用于处理缓存事件,如put,remove,update,和expire bootstrapCacheLoaderFactory:指定相应的BootstrapCacheLoader,用于在初始化缓存,以及自动设置。

spring配置:

<!-- ehcache --> <bean id="cacheManager"          class="org.springframework.cache.ehcache.EhCacheManagerFactoryBean">          <property name="configLocation"              value="classpath:ehcache.xml">          </property>      </bean>

<bean id="smapCacheBean" class="org.springframework.cache.ehcache.EhCacheFactoryBean">          <property name="cacheManager" ref="cacheManager"></property>          <property name="cacheName" value="smapCache"></property>      </bean>

Ehcache 使用的更多相关文章

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

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

  2. springmvc 多数据源 SSM java redis shiro ehcache 头像裁剪

    获取下载地址   QQ 313596790  A 调用摄像头拍照,自定义裁剪编辑头像 B 集成代码生成器 [正反双向](单表.主表.明细表.树形表,开发利器)+快速构建表单;  技术:31359679 ...

  3. 网站缓存技术总结( ehcache、memcache、redis对比)

    网站技术高速发展的今天,缓存技术已经成为大型网站的一个关键技术,缓存设计好坏直接关系的一个网站访问的速度,以及购置服务器的数量,甚至影响到用户的体验. 网站缓存按照存放的地点不同,可以分为客户端缓存. ...

  4. 【JavaWeb】Spring+SpringMVC+MyBatis+SpringSecurity+EhCache+JCaptcha 完整Web基础框架(前言)

    一直希望能够搭建一个完整的,基础Web框架,方便日后接一些外快的时候,能够省时省力,终于花了一周的时间,把这个东西搞定了.特此写下此博客,一来是纪念,二来是希望能够为别人提供方便.顺带说一下,恩,组合 ...

  5. 转载:Spring+EhCache缓存实例

    转载来自:http://www.cnblogs.com/mxmbk/articles/5162813.html 一.ehcahe的介绍 EhCache 是一个纯Java的进程内缓存框架,具有快速.精干 ...

  6. Hibernate+EhCache配置二级缓存

    步骤: 第一步:加入ehcache.jar 第二步: 在src目录下新建一个文件,名为:ehcache.xml 第三步:在hibernate配置文件的<session-factory>下配 ...

  7. 【JavaWeb】Spring+SpringMVC+MyBatis+SpringSecurity+EhCache+JCaptcha 完整Web基础框架(五)

    SpringSecurity(2) 好久没有写了,之前只写了一半,我是一边开发一边写Blog一边上班,所以真心没有那么多时间来维护Blog,项目已经开发到编写逻辑及页面部分了,框架基本上已经搭建好不会 ...

  8. (转)springMVC+mybatis+ehcache详细配置

    一. Mybatis+Ehcache配置 为了提高MyBatis的性能,有时候我们需要加入缓存支持,目前用的比较多的缓存莫过于ehcache缓存了,ehcache性能强大,而且位各种应用都提供了解决方 ...

  9. ehcache注解全面解析---打酱油的日子

    通过ehcache以编程方式使用缓存: 跟上面的方式相同,但是缓存通过ehcache去管理,当然比使用map有N多种好处,比如缓存太大了快达到上限之后,将哪一部分缓存清除出去.这种方式完全是通过代码的 ...

  10. spring mvc + ehcache 利用注解实现缓存功能

    我的spring是3.1的,因为项目需求,需要在查询时候加上缓存,小白一个,完全没有用过缓存(ehcache),摸索了一天终于会了一点通过注解来使用ehcache进行缓存,立刻给记录下来. 首先 我的 ...

随机推荐

  1. linux 禁ping本机方法

    linux 禁ping本机方法 禁ping执行:echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all 恢复ping 执行:echo 0 > /p ...

  2. 使用OpenCV3处理图像

    不同色彩空间的转换 当前,在计算机视觉中有三种常用的色彩空间:灰度.BGR.以及HSV(Hue,Saturation,Value) 灰度色彩空间是通过去除彩色信息来将其转换成灰阶,灰度色彩空间对中间处 ...

  3. ORGANIZATION

    Leader:  Ming Xiang Ph.D students:  Bo Yang Yupei Zhang M.Eng. students: Cheng Feng Jinquan Du Youli ...

  4. Oracle 创建主键自增表

    200 ? "200px" : this.width)!important;} --> 介绍 本篇文章主要介绍在oracle中如果创建自增长表,这里要用到序列. create ...

  5. [51单片机] TFT2.4彩屏3 [自制动画效果-滑块+吊钩]

    >_<:引脚和前面几个连接一样,这里做了一个实用的动画效果,模拟起重机的2维视图. #ifndef __ILI9325_H__ #define __ILI9325_H__ void ILI ...

  6. [JS13] ActivetX

    <HTML> <head> <title>JavaScript Unleashed</title> <script type="text ...

  7. 深入理解c++构造函数, 复制构造函数和赋值函数重载(operator=)

    注 以下代码编译及运行环境均为 Xcode 6.4, LLVM 6.1 with GNU++11 support, Mac OS X 10.10.2 调用时机 看例子 // // main.cpp / ...

  8. JS 日期格式化和解析工具

    本来想模仿Java里面的SimpleDateFormat()对象的,但是感觉这样用起来不方便,所以还是直接写成单独的方法算了. 原文链接 日期格式化 使用说明 formatDate(date, fmt ...

  9. atitit.提升开发效率---动态语言总结

    atitit.提升开发效率---动态语言总结 ruby,python 都不错,就是语法不好, 应用不广泛,文档,工具都非常少,不推荐... php狠不错,就是高级特性不行.. 看来子有.net/jav ...

  10. 从零开始学Bootstrap(3)

    首先让我们回顾一下系列内容. 从零开始学Bootstrap(1)介绍了BootStrap最简单的模板,逐条解释了每行代码的含义. 从零开始学Bootstrap(2)强调了边学边做,通过实际的例子,讲解 ...