java ehcache 分布式缓存配置
2012-11-12 11:13:12 来源:WEB开发网<%@page import="net.sf.ehcache.Cache"%>
<h1>EhCache Cluster Tester</h1>
<%
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一致.区别如下:
<cacheManagerPeerListenerFactory class="net.sf.ehcache.distribution.RMICacheManagerPeerListenerFactory"
properties="hostName=192.168.10.114, port=40002,socketTimeoutMillis=2000"/>
<cacheManagerPeerProviderFactory class="net.sf.ehcache.distribution.RMICacheManagerPeerProviderFactory"
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级别的分布式缓存]
更多精彩
赞助商链接