緩存---基礎(chǔ)理論篇????????????? 1.?? 緩存????? 緩存介于應(yīng)用程序和永久性數(shù)據(jù)存儲(chǔ)源之間,它的作用是降低應(yīng)用程序直接讀寫永久數(shù)據(jù)存儲(chǔ)源的頻率,從而提高應(yīng)用的運(yùn)行性能。????? 緩存中的數(shù)據(jù)是數(shù)據(jù)存儲(chǔ)源中數(shù)據(jù)的拷貝,應(yīng)用程序在運(yùn)行時(shí)直接讀寫緩存中的數(shù)據(jù),只在某些特定時(shí)刻按照緩存中的數(shù)據(jù)來同步更新數(shù)據(jù)存儲(chǔ)源。????? 緩存的介質(zhì)一般是內(nèi)存,所以讀寫速度很快。但如果緩存中存放的數(shù)據(jù)量非常大時(shí),也會(huì)用硬盤作為緩存介質(zhì)。緩存的實(shí)現(xiàn)不僅僅要考慮存儲(chǔ)的介質(zhì),還要考慮到管理緩存的并發(fā)訪問和緩存數(shù)據(jù)的生命周期。??
2.?? 各類CACHE簡介2.1.?? Java Caching System?????? JSC(Java Caching System)是一個(gè)用分布式的緩存系統(tǒng),是基于服務(wù)器的java應(yīng)用程序。它是通過提供管理各種動(dòng)態(tài)緩存數(shù)據(jù)來加速動(dòng)態(tài)web應(yīng)用。JCS和其他緩存系統(tǒng)一樣,也是一個(gè)用于高速讀取,低速寫入的應(yīng)用程序。動(dòng)態(tài)內(nèi)容和報(bào)表系統(tǒng)能夠獲得更好的性能。如果一個(gè)網(wǎng)站,有重復(fù)的網(wǎng)站結(jié)構(gòu),使用間歇性更新方式的數(shù)據(jù)庫(而不是連續(xù)不斷的更新數(shù)據(jù)庫),被重復(fù)搜索出相同結(jié)果的,就能夠通過執(zhí)行緩存方式改進(jìn)其性能和伸縮性?! ?br />官方網(wǎng)站 http://jakarta.apache.org/turbine/jcs/2.2? ?EHCache????? EHCache 是一個(gè)純java的在進(jìn)程中的緩存,它具有以下特性:快速,簡單,為Hibernate2.1充當(dāng)可插入的緩存,最小的依賴性,全面的文檔和測試。官方網(wǎng)站 http://ehcache.sourceforge.net/;2.3.?? OSCache???????OSCache是個(gè)一個(gè)廣泛采用的高性能的J2EE緩存框架,OSCache能用于任何Java應(yīng)用程序的普通的緩存解決方案。?????? OSCache有以下特點(diǎn):?????? 緩存任何對象,你可以不受限制的緩存部分jsp頁面或HTTP請求,任何java對象都可以緩存。?????? 擁有全面的API--OSCache API給你全面的程序來控制所有的OSCache特性。????? 永久緩存--緩存能隨意的寫入硬盤,因此允許昂貴的創(chuàng)建(expensive-to-create)數(shù)據(jù)來保持緩存,甚至能讓應(yīng)用重啟。????? 支持集群--集群緩存數(shù)據(jù)能被單個(gè)的進(jìn)行參數(shù)配置,不需要修改代碼。????? 緩存記錄的過期--你可以有最大限度的控制緩存對象的過期,包括可插入式的刷新策略(如果默認(rèn)性能不需要時(shí))。官方網(wǎng)站 http://www.opensymphony.com/oscache/2.4.?? JCache?????? JCache是個(gè)開源程序,正在努力成為JSR-107開源規(guī)范,JSR-107規(guī)范已經(jīng)很多年沒改變了。這個(gè)版本仍然是構(gòu)建在最初的功能定義上。官方網(wǎng)站 http://jcache.sourceforge.net/?2.5.?? ShiftOne??????? ShiftOne Java Object Cache是一個(gè)執(zhí)行一系列嚴(yán)格的對象緩存策略的Java lib,就像一個(gè)輕量級的配置緩存工作狀態(tài)的框架。官方網(wǎng)站 http://jocache.sourceforge.net/? 2.6.?? SwarmCache??????? SwarmCache是一個(gè)簡單且有效的分布式緩存,它使用IP multicast與同一個(gè)局域網(wǎng)的其他主機(jī)進(jìn)行通訊,是特別為集群和數(shù)據(jù)驅(qū)動(dòng)web應(yīng)用程序而設(shè)計(jì)的。SwarmCache能夠讓典型的讀操作大大超過寫操作的這類應(yīng)用提供更好的性能支持。SwarmCache使用JavaGroups來管理從屬關(guān)系和分布式緩存的通訊。官方網(wǎng)站 http://swarmcache.sourceforge.net
?2.7.?? TreeCache / JBossCache ??????? JBossCache是一個(gè)復(fù)制的事務(wù)處理緩存,它允許你緩存企業(yè)級應(yīng)用數(shù)據(jù)來更好的改善性能。緩存數(shù)據(jù)被自動(dòng)復(fù)制,讓你輕松進(jìn)行JBoss服務(wù)器之間的集群工作。JBossCache能夠通過JBoss應(yīng)用服務(wù)或其他J2EE容器來運(yùn)行一個(gè)MBean服務(wù),當(dāng)然,它也能獨(dú)立運(yùn)行。JBossCache包括兩個(gè)模塊:TreeCache和TreeCacheAOP。TreeCache --是一個(gè)樹形結(jié)構(gòu)復(fù)制的事務(wù)處理緩存。TreeCacheAOP --是一個(gè)"面向?qū)ο?緩存,它使用AOP來動(dòng)態(tài)管理POJO(Plain Old Java Objects)官方網(wǎng)站 http://www.jboss.org/products/jbosscache;
?2.8.?? WhirlyCache??????? Whirlycache是一個(gè)快速的、可配置的、存在于內(nèi)存中的對象的緩存。它能夠通過緩存對象來加快網(wǎng)站或應(yīng)用程序的速度,否則就必須通過查詢數(shù)據(jù)庫或其他代價(jià)較高的處理程序來建立。官方網(wǎng)站 https://whirlycache.dev.java.net/
Powered by: BlogJava Copyright © lixw
緩存---基礎(chǔ)理論篇???
??????????
1.?? 緩存
????? 緩存介于應(yīng)用程序和永久性數(shù)據(jù)存儲(chǔ)源之間,它的作用是降低應(yīng)用程序直接讀寫永久數(shù)據(jù)存儲(chǔ)源的頻率,從而提高應(yīng)用的運(yùn)行性能。
????? 緩存中的數(shù)據(jù)是數(shù)據(jù)存儲(chǔ)源中數(shù)據(jù)的拷貝,應(yīng)用程序在運(yùn)行時(shí)直接讀寫緩存中的數(shù)據(jù),只在某些特定時(shí)刻按照緩存中的數(shù)據(jù)來同步更新數(shù)據(jù)存儲(chǔ)源。
????? 緩存的介質(zhì)一般是內(nèi)存,所以讀寫速度很快。但如果緩存中存放的數(shù)據(jù)量非常大時(shí),也會(huì)用硬盤作為緩存介質(zhì)。緩存的實(shí)現(xiàn)不僅僅要考慮存儲(chǔ)的介質(zhì),還要考慮到管理緩存的并發(fā)訪問和緩存數(shù)據(jù)的生命周期。??
2.?? 各類CACHE簡介
;




2.1.?? Java Caching System
?????? JSC(Java Caching System)是一個(gè)用分布式的緩存系統(tǒng),是基于服務(wù)器的java應(yīng)用程序。它是通過提供管理各種動(dòng)態(tài)緩存數(shù)據(jù)來加速動(dòng)態(tài)web應(yīng)用。JCS和其他緩存系統(tǒng)一樣,也是一個(gè)用于高速讀取,低速寫入的應(yīng)用程序。動(dòng)態(tài)內(nèi)容和報(bào)表系統(tǒng)能夠獲得更好的性能。如果一個(gè)網(wǎng)站,有重復(fù)的網(wǎng)站結(jié)構(gòu),使用間歇性更新方式的數(shù)據(jù)庫(而不是連續(xù)不斷的更新數(shù)據(jù)庫),被重復(fù)搜索出相同結(jié)果的,就能夠通過執(zhí)行緩存方式改進(jìn)其性能和伸縮性?! ?br />官方網(wǎng)站 http://jakarta.apache.org/turbine/jcs/
2.2? ?EHCache
????? EHCache 是一個(gè)純java的在進(jìn)程中的緩存,它具有以下特性:快速,簡單,為Hibernate2.1充當(dāng)可插入的緩存,最小的依賴性,全面的文檔和測試。
官方網(wǎng)站 http://ehcache.sourceforge.net/
2.3.?? OSCache
???????OSCache是個(gè)一個(gè)廣泛采用的高性能的J2EE緩存框架,OSCache能用于任何Java應(yīng)用程序的普通的緩存解決方案。
?????? OSCache有以下特點(diǎn):
?????? 緩存任何對象,你可以不受限制的緩存部分jsp頁面或HTTP請求,任何java對象都可以緩存。
?????? 擁有全面的API--OSCache API給你全面的程序來控制所有的OSCache特性。
????? 永久緩存--緩存能隨意的寫入硬盤,因此允許昂貴的創(chuàng)建(expensive-to-create)數(shù)據(jù)來保持緩存,甚至能讓應(yīng)用重啟。
????? 支持集群--集群緩存數(shù)據(jù)能被單個(gè)的進(jìn)行參數(shù)配置,不需要修改代碼。
????? 緩存記錄的過期--你可以有最大限度的控制緩存對象的過期,包括可插入式的刷新策略(如果默認(rèn)性能不需要時(shí))。
官方網(wǎng)站 http://www.opensymphony.com/oscache/
2.4.?? JCache
?????? JCache是個(gè)開源程序,正在努力成為JSR-107開源規(guī)范,JSR-107規(guī)范已經(jīng)很多年沒改變了。這個(gè)版本仍然是構(gòu)建在最初的功能定義上。
官方網(wǎng)站 http://jcache.sourceforge.net/
?2.5.?? ShiftOne
??????? ShiftOne Java Object Cache是一個(gè)執(zhí)行一系列嚴(yán)格的對象緩存策略的Java lib,就像一個(gè)輕量級的配置緩存工作狀態(tài)的框架。
官方網(wǎng)站 http://jocache.sourceforge.net/
? 2.6.?? SwarmCache
??????? SwarmCache是一個(gè)簡單且有效的分布式緩存,它使用IP multicast與同一個(gè)局域網(wǎng)的其他主機(jī)進(jìn)行通訊,是特別為集群和數(shù)據(jù)驅(qū)動(dòng)web應(yīng)用程序而設(shè)計(jì)的。SwarmCache能夠讓典型的讀操作大大超過寫操作的這類應(yīng)用提供更好的性能支持。SwarmCache使用JavaGroups來管理從屬關(guān)系和分布式緩存的通訊。
官方網(wǎng)站 http://swarmcache.sourceforge.net
?2.7.?? TreeCache / JBossCache
;
??????? JBossCache是一個(gè)復(fù)制的事務(wù)處理緩存,它允許你緩存企業(yè)級應(yīng)用數(shù)據(jù)來更好的改善性能。緩存數(shù)據(jù)被自動(dòng)復(fù)制,讓你輕松進(jìn)行JBoss服務(wù)器之間的集群工作。JBossCache能夠通過JBoss應(yīng)用服務(wù)或其他J2EE容器來運(yùn)行一個(gè)MBean服務(wù),當(dāng)然,它也能獨(dú)立運(yùn)行。JBossCache包括兩個(gè)模塊:TreeCache和TreeCacheAOP。TreeCache --是一個(gè)樹形結(jié)構(gòu)復(fù)制的事務(wù)處理緩存。TreeCacheAOP --是一個(gè)"面向?qū)ο?緩存,它使用AOP來動(dòng)態(tài)管理POJO(Plain Old Java Objects)
官方網(wǎng)站 http://www.jboss.org/products/jbosscache
?2.8.?? WhirlyCache
??????? Whirlycache是一個(gè)快速的、可配置的、存在于內(nèi)存中的對象的緩存。它能夠通過緩存對象來加快網(wǎng)站或應(yīng)用程序的速度,否則就必須通過查詢數(shù)據(jù)庫或其他代價(jià)較高的處理程序來建立。
官方網(wǎng)站 https://whirlycache.dev.java.net/