下面我们动手通过项目来实践下吧.[RMI方式];

基本环境:A 分别创建两个web项目,C1和C2 分别倒入echcache的jar包;

B 本例使用了两个tomcat 分别部署C1和C2

项目配置:C1配置

A

ehcache.xml [ path= src ]

maxElementsInMemory="19"

eternal="false"

timeToIdleSeconds="120"

timeToLiveSeconds="120"

overflowToDisk="true">

class="net.sf.ehcache.distribution.RMICacheReplicatorFactory"

properties="replicateAsynchronously=true,replicatePuts=true, replicateUpdates=true,replicateUpdatesViaCopy=false,replicateRemovals=true"/>

properties="hostName=192.168.10.114, port=40001,socketTimeoutMillis=2000"/>

properties="peerDiscovery=manual,hostName=192.168.10.114,port=40002,rmiUrls=//192.168.10.114:40001/cache|//192.168.10.114:40002/cache,timeToLive=32" />

maxElementsInMemory="1000"

eternal="false"

timeToIdleSeconds="120"

timeToLiveSeconds="120"

overflowToDisk="true"

/>

这样就配置了192.168.10.114:40001和192.168.10.114:40002两个ehcache缓存实例 并且每当其中一个缓存放生改变时通过在

properties="replicateAsynchronously=true,replicatePuts=true, replicateUpdates=true,replicateUpdatesViaCopy=false,replicateRemovals=true" 这些配置策略 可以同步反应到另一个缓存中.从而达到分布式缓存同步的效果.

B web.xml

xmlns="http://java.sun.com/xml/ns/j2ee"

xmlns:web="http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"

xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"

version="2.4">

EhCache Cluster Demo

EhCache Cluster Demo

eccache

ehcache.xml

index.jsp

C. test.jsp

EhCache Cluster Tester

CacheManager m =CacheManager.create();

Cache c = m.getCache("cache");

c.put(new Element("999", "yy"));

out.print(c.getSize()+"__"+c.getKeys().toString());

for(Object o:c.getKeys()){

Object v = c.get(o).getValue();

out.println(o+":"+v);

}

%>

C2配置同P1一致.区别如下:

properties="hostName=192.168.10.114, port=40002,socketTimeoutMillis=2000"/>

properties="peerDiscovery=manual,hostName=192.168.10.114,port=40001,rmiUrls=//192.168.10.114:40002/cache|//192.168.10.114:40001/cache,timeToLive=32" />

text.jsp 代码自定义.

测试方法:

分别启动两个项目:localhost:8001/c1 和localhost:8002/c2 其中C2第一次向自己的缓存中放入内容.然后你访问c1 ,C1则直接从自己的缓存中读取内容显示.

你可以不断改变代码进行测试.

***以上只为简单实践 对于其中参数的配置因地制宜的优化.如何任何错误。欢迎指正!

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

例外hibernate+ehcahce的配置基本同上 配置hibernate实用ehcache后 在代码和hbf配置文件中可以指定使用缓存[setCached(true)]

spring也提供了对ehcache的集成 .给予应用级别 可以缓存调用方法的签名(key).以及其放回结果(value)

ehcahe+Terracotta 可能提供了比较完整的解决方案[ Terracotta 收购了ehcache 而且本身Terracotta 提供了JVM级别的分布式缓存]

这些都是后话.以后有计划继续实践.

java 缓存ech_java ehcache 分布式缓存配置实例 .相关推荐

  1. EhCache 分布式缓存/缓存集群

    开发环境: System:Windows JavaEE Server:tomcat5.0.2.8.tomcat6 JavaSDK: jdk6+ IDE:eclipse.MyEclipse 6.6 开发 ...

  2. Ehcache分布式缓存及测试方法

    接到配合架构部要求配合测试需求,对EhCache 进行测试,在此之前,未接触过ehcache缓存,之前知道一些缓存,但是还真没了解过内存缓存.于是百度,看书,查资料,先恶补一下ehcache的一些知识 ...

  3. EhCache 分布式缓存/缓存集群之Terracotta

    介绍 分布式缓存使您可以利用水平扩展的其他好处,而不会损失本地堆上层提供的低延迟. 热点数据在本地缓存,热点数据在更快的层中 由一个应用程序实例缓存的数据可用于所有群集成员. 群集中有完整数据. 可以 ...

  4. java 分布式缓存 开源_分布式缓存开源框架Flasher介绍-Go语言中文社区

    写在前面 今天给大家推荐款国内某一线电商平台Redis分布式缓存框架. 推荐理由: 日均访问量100亿.QPS:157W.包含57项业务. 也是工作3-5年以上的程序员必看的源码资料,千万别错过. F ...

  5. 缓存应用--Memcached分布式缓存简介(二)

    1 命令行查看状态 很多时候我们需要去查看Memcached 的使用状态,比如Memcached 的运行时间,使用状态等等.在Windows系统中我们可以使用telnet 命令来查看Memcached ...

  6. qq邮箱格式的Java代码_java mail qq邮箱配置 实例

    程序入口: Test_Email_N.java importjava.io.IOException;importjava.util.Date;importjava.util.Properties;im ...

  7. Java 开源分布式缓存框架Ehcache

    Ehcache 是一个Java实现的开源分布式缓存框架,EhCache 可以有效地减轻数据库的负载,可以让数据保存在不同服务器的内存中,在需要数据的时候可以快速存取.同时EhCache 扩展非常简单, ...

  8. 5个强大的Java分布式缓存框架推荐

    2019独角兽企业重金招聘Python工程师标准>>> 在开发中大型Java软件项目时,很多Java架构师都会遇到数据库读写瓶颈,如果你在系统架构时并没有将缓存策略考虑进去,或者并没 ...

  9. java 本地缓存框架_5个强大的Java分布式缓存框架推荐

    在开发中大型Java软件项目时,很多Java架构师都会遇到数据库读写瓶颈,如果你在系统架构时并没有将缓存策略考虑进去,或者并没有选择更优的 缓存策略,那么到时候重构起来将会是一个噩梦.本文主要是分享了 ...

  10. java gui狼_5个强大的Java分布式缓存框架

    在开发中大型Java软件项目时,很多Java架构师都会遇到数据库读写瓶颈,如果你在系统架构时并没有将缓存策略考虑进去,或者并没有选择更优的缓存策略,那么到时候重构起来将会是一个噩梦.本文主要是分享了5 ...

最新文章

  1. 岗位推荐 | 清华大学CoAI实验室招聘博士后
  2. QML范围和命名分辨率
  3. Google Guava 库用法整理
  4. electronjs MySQL,javascript – 在Electron应用程序中使用sql.js.
  5. 作为一个程序员,CPU的这些硬核知识你必须会!
  6. Apache Flink OLAP引擎性能优化及应用
  7. Python使用tkinter打造自定义对话框完整代码
  8. SAP License:SAP 清帐函数示例
  9. 软件工程导论 02章可行性研究
  10. opencv学习之路(9)、对比度亮度调整与通道分离
  11. 去哪儿网2017校招在线笔试(前端工程师)编程题及JavaScript代码
  12. 在html中frame标签的作用,HTML框架标签frameset、frame、iframe、noframes
  13. mysql 求差函数_mysql 数学函数
  14. Windows下快速删除大量文件
  15. 高斯拉盖尔(Gauss-Laguerre)法则求积分(python,数值积分)
  16. java周总结1106
  17. 机器学习特征工程之特征缩放+无量纲化:非线性缩放(例如,sigmoid、tanh、arctan等)
  18. android手机改电视,DIY让手机变成万能电视遥控器 手机万能遥控器设置方法
  19. uniapp-商品详情配置
  20. HaLoop—适用于迭代计算的Hadoop

热门文章

  1. 自己写的一个asp.net-cookies购物车类
  2. 【LOJ】#2187. 「SHOI2014」三叉神经树
  3. 一个很可爱的二次元风格的个人技术博客
  4. Canvas坐标轴中的Y轴距离是X轴的两倍
  5. VC++ 禁止WebBrowser网页跳转时发出的声音和禁止网页上的文字被选择
  6. 写得好 git 提交信息
  7. java 数组或者链表输出
  8. 关于ipcam的UPnP或NAT的知识
  9. [转]计算机视觉、机器学习相关领域论文和源代码大集合--持续更新
  10. rs232读取智能电表_供电局智能费控电表功能和通讯方式介绍