Ehcache
Ehcache是一個(gè)Java實(shí)現(xiàn)的開源分布式緩存框架,EhCache可以有效地減輕數(shù)據(jù)庫的負(fù)載,可以讓數(shù)據(jù)保存在不同服務(wù)器的內(nèi)存中,在需要數(shù)據(jù)的時(shí)候可以快速存取。同時(shí)EhCache擴(kuò)展非常簡(jiǎn)單,官方提供的Cache配置方式有多種??梢月暶髋渲?、xml中配置、程序里配置或者調(diào)用構(gòu)造方法時(shí)傳入不同的參數(shù)。
Ehcache有如下特點(diǎn)
存取速度非???,性能很不錯(cuò)。
支持應(yīng)用多種緩存策略。
分級(jí)緩存,用戶可以指定哪些數(shù)據(jù)在硬盤中緩存,哪些數(shù)據(jù)在內(nèi)存中緩存。
可以通過RMI、可插入API等方式進(jìn)行分布式緩存。
具有緩存和緩存管理器的偵聽接口。
支持多緩存管理器實(shí)例,以及一個(gè)實(shí)例的多個(gè)緩存區(qū)域。
默認(rèn)提供Hibernate的緩存實(shí)現(xiàn)。
0x02:Cacheonix
Cacheonix同樣也是一個(gè)基于Java的分布式集群緩存系統(tǒng),它同樣可以方便的實(shí)現(xiàn)分布式緩存的部署。Cacheonix作為一款開源的分布式緩存框架,可以滿足中型企業(yè)規(guī)模的系統(tǒng)架構(gòu),對(duì)提升系統(tǒng)性能有非常棒的作用。
Cacheonix有如下特點(diǎn)
可靠的分布式Java緩存
通過復(fù)制實(shí)現(xiàn)高可用性
支持泛型的緩存API
可與ORM框架集成
使用數(shù)據(jù)分區(qū)實(shí)現(xiàn)負(fù)載均衡
支持非多播網(wǎng)絡(luò)
高性能計(jì)算
快速的本地Java緩存
分布式鎖機(jī)制
0x03:JBossCache
JBossCache是一款基于Java的事務(wù)處理緩存系統(tǒng),它的目標(biāo)是構(gòu)建一個(gè)以Java框架為基礎(chǔ)的集群解決方案,可以是服務(wù)器應(yīng)用,也可以是JavaSE應(yīng)用。
JBossCache有如下特點(diǎn)
集群高可用性
JBossCache是可復(fù)制的Cache,狀態(tài)總是和集群中的其它服務(wù)器同步保存。這使得任何存儲(chǔ)在JBossCache的狀態(tài)都能得到恢復(fù),即使因服務(wù)器崩潰或重啟。
集群的cache消除了瓶頸
JBossCache設(shè)計(jì)來緩存經(jīng)常被訪問到的Java對(duì)象,目的是動(dòng)態(tài)地改進(jìn)應(yīng)用程序的性能。這使得移除數(shù)據(jù)訪問瓶頸更容易,例如數(shù)據(jù)庫連接。
JBossCache實(shí)例很注意遠(yuǎn)程Cache的更新和同步。
企業(yè)級(jí)
JBossCache是高級(jí)的、企業(yè)級(jí)數(shù)據(jù)網(wǎng)格解決方案,提供了如事務(wù)處理、回收和Cache載入等特征。
許可證
JBossCache基于LGPL許可證,100%開源。
0x04:OSCache
OSCache是個(gè)一個(gè)廣泛采用的高性能的J2EE緩存框架,OSCache能用于任何Java應(yīng)用程序的普通的緩存解決方案。
OSCache有如下特點(diǎn)
緩存任何對(duì)象??梢圆皇芟拗频木彺娌糠謏sp頁面或HTTP請(qǐng)求,任何java對(duì)象都可以緩存。
擁有全面的API。OSCacheAPI提供全面的程序來控制所有的OSCache特性。
永久緩存。緩存能隨意的寫入硬盤,因此允許昂貴的創(chuàng)建(expensive-to-create)數(shù)據(jù)來保持緩存,甚至能讓應(yīng)用重啟。
支持集群。集群緩存數(shù)據(jù)能被單個(gè)的進(jìn)行參數(shù)配置,不需要修改代碼
緩存記錄的過期-??梢宰畲笙薅鹊目刂凭彺鎸?duì)象的過期,包括可插入式的刷新策略(如果默認(rèn)性能不需要時(shí))
0x05:Memcached
Memcached是一種基于內(nèi)存的key-value存儲(chǔ),用來存儲(chǔ)小塊的任意數(shù)據(jù)(字符串、對(duì)象)。這些數(shù)據(jù)可以是數(shù)據(jù)庫調(diào)用、API調(diào)用或者是頁面渲染的結(jié)果。Memcached簡(jiǎn)潔而強(qiáng)大。它的簡(jiǎn)潔設(shè)計(jì)便于快速開發(fā),減輕開發(fā)難度,解決了大數(shù)據(jù)量緩存的很多問題。它的API兼容大部分流行的開發(fā)語言。本質(zhì)上,它是一個(gè)簡(jiǎn)潔的key-value存儲(chǔ)系統(tǒng)。
Memcached有如下特點(diǎn)
基于libevent的事件處理
memcached不互相通信的分布式
協(xié)議簡(jiǎn)單
內(nèi)置內(nèi)存存儲(chǔ)方式
0x06:J2Cache
J2Cache是OSChina目前正在使用的兩級(jí)緩存框架。第一級(jí)緩存使用Ehcache,第二級(jí)緩存使用Redis。由于大量的緩存讀取會(huì)導(dǎo)致L2的網(wǎng)絡(luò)成為整個(gè)系統(tǒng)的瓶頸,因此L1的目標(biāo)是降低對(duì)L2的讀取次數(shù)。該緩存框架主要用于集群環(huán)境中。單機(jī)也可使用,用于避免應(yīng)用重啟導(dǎo)致的Ehcache緩存數(shù)據(jù)丟失。
文檔
https://www.oschina.net/doc/652
另外J2Cache的代碼倉庫在碼云上,可以去搜索一下。更詳細(xì)介紹
https://my.oschina.net/javayou/blog/1931381
0x07:JetCache
JetCache是阿里開源的緩存框架。JetCache是一個(gè)基于java的緩存系統(tǒng)封裝,提供統(tǒng)一的API和注解簡(jiǎn)化緩存的使用。JetCache提供了比SpringCache更強(qiáng)大的注解,可以原生的支持TTL、兩級(jí)緩存、分布式自動(dòng)刷新,提供了Cache接口用于手工緩存操作。當(dāng)前有四個(gè)實(shí)現(xiàn),RedisCache、TairCache、CaffeineCache和一個(gè)簡(jiǎn)易的linkedHashMapCache,要添加新的實(shí)現(xiàn)也是非常簡(jiǎn)單。
JetCache有如下特點(diǎn)
通過統(tǒng)一的API訪問Cache系統(tǒng)
通過注解實(shí)現(xiàn)聲明式的方法緩存
通過注解創(chuàng)建并配置Cache實(shí)例
針對(duì)所有Cache實(shí)例和方法緩存的自動(dòng)統(tǒng)計(jì)
Key的生成策略和value的序列化策略是可以配置的
分布式緩存自動(dòng)刷新,分布式鎖
異步CacheAPI
SpringBoot支持
以上就是天津卓眾教育java培訓(xùn)機(jī)構(gòu)的小編針對(duì)“Java基礎(chǔ)學(xué)習(xí):java緩存框架教程”的內(nèi)容進(jìn)行的回答,希望對(duì)大家有所幫助,如有疑問,請(qǐng)?jiān)诰€咨詢,有專業(yè)老師隨時(shí)為你服務(wù)。
Java基礎(chǔ)學(xué)習(xí)