EHCache分布式缓存集群环境配置

Posted on

EHCache分布式缓存集群环境配置 - 七郎 - 博客园

返回主页

七郎's Blog

草木竹石皆可為劒。至人之用人若鏡,不將不迎,應而不藏,故能勝物而不傷。

EHCache分布式缓存集群环境配置

ehcache提供三种网络连接策略来实现集群,rmi,jgroup还有jms。同时ehcache可以可以实现多播的方式实现集群,也可以手动指定集群主机序列实现集群。

Ehcache支持的分布式缓存支持有三种RMI,JGroups,JMS,这里介绍下MRI和JGrpups两种方式,Ehcache使用版本为1.5.0,关于ehcache的其他信息请参考http://ehcache.sourceforge.net/EhcacheUserGuide.html

关于jgroups的信息请参考http://www.jgroups.org/manual/html_single/index.html。

环境为两台机器 server1 ip:192.168.2.154,server2 ip:192.168.2.23

1. RMI方式:

rmi的方式配置要点(下面均是server1上的配置,server2上的只需要把ip兑换即可)

a. 配置PeerProvider:

Xml代码

配置中通过手动方式同步sever2中的userCache和resourceCache。

b. 配置CacheManagerPeerListener:

Xml代码

配置中server1监听本机40001端口。

c. 在每一个cache中添加cacheEventListener,例子如下:

Xml代码

属性解释:

必须属性:

    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,用于在初始化缓存,以及自动设置。

参考另外一篇学习笔记http://wozailongyou.javaeye.com/blog/230252,也有集群的说明

2. JGroups方式:

ehcache 1.5.0之后版本支持的一种方式,配置起来比较简单,要点:

a. 配置PeerProvider,使用tcp的方式,例子如下:

Xml代码


b.为每个cache添加cacheEventListener:

Xml代码

JGroup方式配置的两个server上的配置文件一样,若有多个server,在initial_hosts中将server ip加上即可。

一个完整的ehcache.xml文件:

Xml代码 <?xml version="1.0" encoding="UTF-8"?>

posted @ 2011-10-07 17:30 七郎 阅读(1963) 评论(0) 编辑 收藏

刷新页面返回顶部

(评论功能已被博主禁用) 程序员问答社区,解决您的技术难题

博客园首页博问新闻闪存程序员招聘知识库

公告

Copyright ©2012 七郎

希望本站内容对您有点用处,有什么疑问或建议请在后面留言评论
转载请注明作者(RobinChia)和出处 It so life ,请勿用于任何商业用途