`

Ehcache 关键概念

阅读更多
Ehcache 关键类



顶级包类图


      Ehcache由CacheManager组成,  它管理缓存(Cache),Cache包含元素(Element),  Element是实际的名/值对。Cache本身在内存或磁盘中实现。

CacheManager



CacheManager类图


CacheManager包含Cache,Cache依次包含Element。Cache的创建 访问 删除等操作由CacheManager控制。

CacheManager 的创建形式
    CacheManager支持两种创建形式:单例(singleton)和实例(instance)。

Singleton形式
    Ehcache-1.1仅支持一个CacheManager实例,就是一个单例,在这种情况下,CacheManager可以使用静态工厂方法(Static Factory Method)使用。

Instance形式
    自ehcache-1.2起,  CacheManager有一些映照各种静态创建方法的构造函数。这使得多个CacheManager可以被同时创建和使用。每个CacheManager要求自身的配置。如果受管下的Cache只使用MemoryStore(内存存储),这没什么特别之处。 如果Cache使用DiskStore(磁盘存储),在每个CacheManager配置中的diskStore 路径(path)必须是唯一的(各不相同)。当新的CacheManager被创建时,Ehcache会检查是否有其他的CacheManager与待创建的CacheManager使用相同的diskStore path。如果有,会抛出CacheException。如果CacheManager是集群的一部分(某集群的集群节点), 监听端口也必须唯一。

混合 Singleton 和 Instance  形式
    如果某应用即使用构造函数 又使用静态创建方法来创建CacheManager的实例,会存在一个单例CacheManager,  它每次在静态创建方法被调用时被返回, 以及其他的通过构造函数创建的实例,这两种类型的实例将和平共存。

Ehcache



Ehcache 接口图


    所有的Cache实现Ehcache接口。Cache拥有name和attributes。每个Cache包含Element。Ehcache中的Cache类似于其他缓存系统的缓存地域(Cache Region)。Cache的Element存储在MemoryStore,Element溢出到DiskStore是可选的。

Element


Element类图


      一个Element是Cache中的原子项目,它有key, value, 和访问记录。Element在Cache中放入(put)或移除(remove)。 Element依赖于Cache的配置可以过期并由Cache移除。

Cache 习惯模式
Caches可以在不同的方式使用。每种方式遵循一个Cache习惯模式。Ehcache支持如下习惯模式:
• 直接操作(Direct Manipulation)
• pull-through 
• 自填充(Self Populating)

直接操作(Direct Manipulation)
简言之,你自己调用cache.put(Element element)(放入缓存项目) 和cache.get(Object key)(获取缓存项目)。
你必须知道如何去使用。

自填充 (Self Populating)
你只需要调用cache.get(Object key)。Cache自己知道如何填充缓存项目。
  • 大小: 76.3 KB
  • 大小: 598.7 KB
  • 大小: 805.8 KB
  • 大小: 354.6 KB
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics