您好,登錄后才能下訂單哦!
這篇文章主要講解了“Java中常用的緩存框架有哪些”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“Java中常用的緩存框架有哪些”吧!
0x01: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ù)。
官方網(wǎng)站
http://ehcache.org/
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)性能有非常棒的作用。
官方網(wǎng)站
http://www.cacheonix.com/
Cacheonix有如下特點(diǎn)
可靠的分布式 Java 緩存
通過復(fù)制實(shí)現(xiàn)高可用性
支持泛型的緩存 API
可與 ORM 框架集成
使用數(shù)據(jù)分區(qū)實(shí)現(xiàn)負(fù)載均衡
支持非多播網(wǎng)絡(luò)
高性能計(jì)算
快速的本地 Java 緩存
分布式鎖機(jī)制
0x03:JBoss Cache
JBoss Cache是一款基于Java的事務(wù)處理緩存系統(tǒng),它的目標(biāo)是構(gòu)建一個(gè)以Java框架為基礎(chǔ)的集群解決方案,可以是服務(wù)器應(yīng)用,也可以是Java SE應(yīng)用。
官方網(wǎng)站
http://jbosscache.jboss.org/
JBoss Cache有如下特點(diǎn)
集群高可用性
JBoss Cache是可復(fù)制的Cache,狀態(tài)總是和集群中的其它服務(wù)器同步保存。這使得任何存儲(chǔ)在JBoss Cache的狀態(tài)都能得到恢復(fù),即使因服務(wù)器崩潰或重啟。
集群的cache消除了瓶頸
JBoss Cache設(shè)計(jì)來緩存經(jīng)常被訪問到的Java對(duì)象,目的是動(dòng)態(tài)地改進(jìn)應(yīng)用程序的性能。這使得移除數(shù)據(jù)訪問瓶頸更容易,例如數(shù)據(jù)庫連接。
JBoss Cache實(shí)例很注意遠(yuǎn)程Cache的更新和同步。
企業(yè)級(jí)
JBoss Cache是高級(jí)的、企業(yè)級(jí)數(shù)據(jù)網(wǎng)格解決方案,提供了如事務(wù)處理、回收和Cache載入等特征。
許可證
JBoss Cache基于LGPL許可證,100%開源。
0x04:OSCache
OSCache是個(gè)一個(gè)廣泛采用的高性能的J2EE緩存框架,OSCache能用于任何Java應(yīng)用程序的普通的緩存解決方案。
官方網(wǎng)站
http://www.opensymphony.com/oscache/
OSCache有如下特點(diǎn)
緩存任何對(duì)象??梢圆皇芟拗频木彺娌糠謏sp頁面或HTTP請(qǐng)求,任何java對(duì)象都可以緩存。
擁有全面的API。OSCache API提供全面的程序來控制所有的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)。
官方網(wǎng)站:
http://memcached.org/
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)單。
官方網(wǎng)站
https://github.com/alibaba/jetcache
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)刷新,分布式鎖
異步Cache API
Spring Boot支持
感謝各位的閱讀,以上就是“Java中常用的緩存框架有哪些”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對(duì)Java中常用的緩存框架有哪些這一問題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是億速云,小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。