Java 緩存框架,Ehcache 3.0.0.m4 發布

jopen 9年前發布 | 13K 次閱讀 Ehcache

EhCache 是一個純 Java 的進程內緩存框架,具有快速、精干等特點

EhCache 的主要特性有:

  1. 快速;
  2. 簡單;
  3. 多種緩存策略;
  4. 緩存數據有兩級:內存和磁盤,因此無需擔心容量問題;
  5. 緩存數據會在虛擬機重啟的過程中寫入磁盤;
  6. 可以通過 RMI、可插入 API 等方式進行分布式緩存;
  7. 具有緩存和緩存管理器的偵聽接口;
  8. 支持多緩存管理器實例,以及一個實例的多個緩存區域;
  9. 提供 Hibernate 的緩存實現;
  10. 等等 …
  11. </ol>

    由于 EhCache 是進程中的緩存系統,一旦將應用部署在集群環境中,每一個節點維護各自的緩存數據,當某個節點對緩存數據進行更新,這些更新的數據無法在其它節點中共享,這不僅會降低節點運行的效率,而且會導致數據不同步的情況發生。例如某個網站采用 A、B 兩個節點作為集群部署,當 A 節點的緩存更新后,而 B 節點緩存尚未更新就可能出現用戶在瀏覽頁面的時候,一會是更新后的數據,一會是尚未更新的數據,盡管我們也可以通過 Session Sticky 技術來將用戶鎖定在某個節點上,但對于一些交互性比較強或者是非 Web 方式的系統來說,Session Sticky 顯然不太適合。所以就需要用到 EhCache 的集群解決方案。

    EhCache 從 1.7 版本開始,支持五種集群方案,分別是:

    • Terracotta
    • RMI
    • JMS
    • JGroups
    • EhCache Server
    • </ul>
      Ehcache 3.0.0.m4 發布,此版本有以下改進:

      • 簡化和重構 write-behind 實現

        </li>

      • 配置 Cache 時候可以傳遞 CacheLoaderWriter, Serializer 和 Copier 的實例

        </li>

      • Handling of exceptions from user provided Expiry, EvictionVeto and EvictionPrioritizer,

        </li>

      • OSGi readiness - that is the ehcache 3 jar carries valid bundle information in its manifest,

        </li>

      • Fixes to tiering which would expose internal state,

        </li>

      • Many more improvements and bug fixes

        </li> </ul>

        詳細信息請查看發行頁面:

        https://github.com/ehcache/ehcache3/releases

        下載地址如下: