下面提到的一些Cache系統(tǒng),我用過OSCache、EHCache,這兩個都是比較輕量級的。感覺OSCache的API比較方便,接口定義比較清楚。
而JBossCache會用來做分布式的Cache。


?????????OSCache
  OSCache是個一個廣泛采用的高性能的J2EE緩存框架,OSCache能用于任何Java應(yīng)用程序的普通的緩存解決方案。
  OSCache有以下特點:
  緩存任何對象,你可以不受限制的緩存部分jsp頁面或HTTP請求,任何java對象都可以緩存。
  擁有全面的API--OSCache API給你全面的程序來控制所有的OSCache特性。
  永久緩存--緩存能隨意的寫入硬盤,因此允許昂貴的創(chuàng)建(expensive-to-create)數(shù)據(jù)來保持緩存,甚至能讓應(yīng)用重啟。
  支持集群--集群緩存數(shù)據(jù)能被單個的進行參數(shù)配置,不需要修改代碼。
緩存記錄的過期--你可以有最大限度的控制緩存對象的過期,包括可插入式的刷新策略(如果默認性能不需要時)。
  官方網(wǎng)站 http://www.opensymphony.com/oscache/

  Java Caching System
  JSC(Java Caching System)是一個用分布式的緩存系統(tǒng),是基于服務(wù)器的java應(yīng)用程序。它是通過提供管理各種動態(tài)緩存數(shù)據(jù)來加速動態(tài)web應(yīng)用。
  JCS和其他緩存系統(tǒng)一樣,也是一個用于高速讀取,低速寫入的應(yīng)用程序。
  動態(tài)內(nèi)容和報表系統(tǒng)能夠獲得更好的性能。
  如果一個網(wǎng)站,有重復(fù)的網(wǎng)站結(jié)構(gòu),使用間歇性更新方式的數(shù)據(jù)庫(而不是連續(xù)不斷的更新數(shù)據(jù)庫),被重復(fù)搜索出相同結(jié)果的,就能夠通過執(zhí)行緩存方式改進其性能和伸縮性。
  官方網(wǎng)站 http://jakarta.apache.org/turbine/jcs/

  EHCache
  EHCache 是一個純java的在進程中的緩存,它具有以下特性:快速,簡單,為Hibernate2.1充當可插入的緩存,最小的依賴性,全面的文檔和測試。

  官方網(wǎng)站 http://ehcache.sourceforge.net/

  JCache
  JCache是個開源程序,正在努力成為JSR-107開源規(guī)范,JSR-107規(guī)范已經(jīng)很多年沒改變了。這個版本仍然是構(gòu)建在最初的功能定義上。
  官方網(wǎng)站 http://jcache.sourceforge.net/

  ShiftOne
  ShiftOne Java Object Cache是一個執(zhí)行一系列嚴格的對象緩存策略的Java lib,就像一個輕量級的配置緩存工作狀態(tài)的框架。
  官方網(wǎng)站 http://jocache.sourceforge.net/

  SwarmCache
  SwarmCache是一個簡單且有效的分布式緩存,它使用IP multicast與同一個局域網(wǎng)的其他主機進行通訊,是特別為集群和數(shù)據(jù)驅(qū)動web應(yīng)用程序而設(shè)計的。SwarmCache能夠讓典型的讀操作大大超過寫操作的這類應(yīng)用提供更好的性能支持。
  SwarmCache使用JavaGroups來管理從屬關(guān)系和分布式緩存的通訊。
  官方網(wǎng)站 http://swarmcache.sourceforge.net

  TreeCache / JBossCache
  JBossCache 是一個復(fù)制的事務(wù)處理緩存,它允許你緩存企業(yè)級應(yīng)用數(shù)據(jù)來更好的改善性能。緩存數(shù)據(jù)被自動復(fù)制,讓你輕松進行JBoss服務(wù)器之間的集群工作。 JBossCache能夠通過JBoss應(yīng)用服務(wù)或其他J2EE容器來運行一個MBean服務(wù),當然,它也能獨立運行。
  JBossCache包括兩個模塊:TreeCache和TreeCacheAOP。
  TreeCache --是一個樹形結(jié)構(gòu)復(fù)制的事務(wù)處理緩存。
  TreeCacheAOP --是一個“面向?qū)ο蟆本彺妫褂肁OP來動態(tài)管理POJO(Plain Old Java Objects)
  注:AOP是OOP的延續(xù),是Aspect Oriented Programming的縮寫,意思是面向方面編程。
  官方網(wǎng)站 http://www.jboss.org/products/jbosscache

  WhirlyCache
  Whirlycache是一個快速的、可配置的、存在于內(nèi)存中的對象的緩存。它能夠通過緩存對象來加快網(wǎng)站或應(yīng)用程序的速度,否則就必須通過查詢數(shù)據(jù)庫或其他代價較高的處理程序來建立。
官方網(wǎng)站 https://whirlycache.dev.java.net/