文档介绍:Cache管理设计说明书拓维信息系统股份有限公司文档标识:当前版本::草稿发布日期:2011-7-7发布修改历史日期版本作者修改内容评审号变更控制号2011-7- 概述 功能说明 读者对象 参考文档 术语与缩写 32 功能设计 数据模型 类图 功能点说明 配置文件 属性解析 节点解析 设置Session 获取Session 销毁Session 重置过期时间 接口说明 5概述功能说明通过可配参数,实现本地化的Ehcache及分布式的Memcached、redis缓存的统一配置和集中式管理。读者对象项目经理、设计人员、开发人员。参考文档《》术语与缩写缩写英文描述中文描述命名规则对象规则示例功能设计UML类图设计统一接口IMultiCacheManager,屏蔽具体的缓存实现的差异性,CacheManager实现统一接口、实现对cache进行的增加、删除、获取。不同类别的cache是根据cachename来进行区分。如要进行CacheManager的改变,增加新的CacheManager,新的CacheManager必须实现IMultiCacheManager统一接口,在具体使用时指向新的实例即可。Ehcache扩展实现: 分布式Cache扩展实现(Memcached、Redis): Icache接口:缓存采用可扩展的设计模式,需要扩展缓存时,比较容易扩展,不必修改原来的代码。Cache的具体操作类,即实现缓存具体的增加、删除和获取的类,要实现Channel接口,Channel接口继承自IChache接口;具体实现的方法如下:IChache接口publicinterfaceICache{//对cache中增加数据 publicbooleanput(Stringkey, Serializablevalue)throwsException; //对cache中增加数据,并且设置数据超时 publicbooleanput(Stringkey, Serializablevalue,intwaitTimes)throwsException; //从cache中获取数据 publicSerializableget(Stringkey)throwsException; //从cache中获取数据,并且设置数据超时 publicSerializableget(Stringkey,intwaitTimes)throwsException; //从cache中删除数据 publicbooleanremove(Stringkey)throwsException; //从cache中删除数据,并且设置数据超时 publicbooleanremove(Stringkey,intwaitTimes)throwsException; //从cache中清空所有数据 publicbooleanremoveAll()throwsException;//得到cache名称 publicStringgetName()throwsException;}Channel接口publicinterfaceChannelextendsICache{ publicbooleanisAlive(); publicvoidclose()throwsException; publicRemoteSourceItemgetRemoteSourceItem();}具体缓存的使用要通过一个缓存通道池来管理,缓存池的统一接口为ChannelPool,各不同的缓存统一实现此接口,并各自编写实现方法。ChannelPool接口publicinterfaceChannelPool{ hannelgetChannel()throwsException; publicvoidclose()throwsException;}功能点说明配置文件使用twdpe-,内容节点如下:缓存模块的配置分为:本地缓存配置、分布式缓存配置(Memcached、Redis)。增加本地缓存对象向本地缓存增加对象的前提是该缓存已经存在,如缓存尚未建立需按以下步骤执行:(下图);,如缓存的最大元素数,内存溢出时是否持久化等;增加分布式缓存Memcached对象memcached分布式缓存在上图中的type为memcache,它需要一个分布式主机