在NET中實現CACHE是件很容易的事在java中是如何實現的呢?有哪些解決方案呢?
歸納了下大概有下面這些方案
OSCache
OSCache是個一個廣泛采用的高性能的JEE緩存框架OSCache能用於任何Java應用程序的普通的緩存解決方案
OSCache有以下特點
緩存任何對象你可以不受限制的緩存部分jsp頁面或HTTP請求任何java對象都可以緩存
擁有全面的APIOSCache API給你全面的程序來控制所有的OSCache特性
永久緩存緩存能隨意的寫入硬盤因此允許昂貴的創建(expensivetocreate)數據來保持緩存甚至能讓應用重啟
支持集群集群緩存數據能被單個的進行參數配置不需要修改代碼
緩存記錄的過期你可以有最大限度的控制緩存對象的過期包括可插入式的刷新策略(如果默認性能不需要時)
官方網站
Java Caching System
JSC(Java Caching System)是一個用分布式的緩存系統是基於服務器的java應用程序它是通過提供管理各種動態緩存數據來加速動態web應用
JCS和其他緩存系統一樣也是一個用於高速讀取低速寫入的應用程序
動態內容和報表系統能夠獲得更好的性能
如果一個網站有重復的網站結構使用間歇性更新方式的數據庫(而不是連續不斷的更新數據庫)被重復搜索出相同結果的就能夠通過執行緩存方式改進其性能和伸縮性
官方網站
EHCache
EHCache 是一個純java的在進程中的緩存它具有以下特性快速簡單為Hibernate充當可插入的緩存最小的依賴性全面的文檔和測試
官方網站
JCache
JCache是個開源程序正在努力成為JSR開源規范JSR規范已經很多年沒改變了這個版本仍然是構建在最初的功能定義上
官方網站
ShiftOne
ShiftOne Java Object Cache是一個執行一系列嚴格的對象緩存策略的Java lib就像一個輕量級的配置緩存工作狀態的框架
官方網站
SwarmCache
SwarmCache是一個簡單且有效的分布式緩存它使用IP multicast與同一個局域網的其他主機進行通訊是特別為集群和數據驅動web應用程序而設計的SwarmCache能夠讓典型的讀操作大大超過寫操作的這類應用提供更好的性能支持
SwarmCache使用JavaGroups來管理從屬關系和分布式緩存的通訊
官方網站
TreeCache / JBossCache
JBossCache是一個復制的事務處理緩存它允許你緩存企業級應用數據來更好的改善性能緩存數據被自動復制讓你輕松進行JBoss服務器之間的集群工作JBossCache能夠通過JBoss應用服務或其他JEE容器來運行一個MBean服務當然它也能獨立運行
JBossCache包括兩個模塊TreeCache和TreeCacheAOP
TreeCache 是一個樹形結構復制的事務處理緩存
TreeCacheAOP 是一個面向對象緩存它使用AOP來動態管理POJO(Plain Old Java Objects)
注AOP是OOP的延續是Aspect Oriented Programming的縮寫意思是面向方面編程
官方網站
WhirlyCache
Whirlycache是一個快速的可配置的存在於內存中的對象的緩存它能夠通過緩存對象來加快網站或應用程序的速度否則就必須通過查詢數據庫或其他代價較高的處理程序來建立
官方網站
From:http://tw.wingwit.com/Article/program/Java/hx/201311/25530.html