溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Java中常用的緩存框架有哪些

發(fā)布時(shí)間:2022-01-07 11:34:16 來源:億速云 閱讀:597 作者:iii 欄目:編程語言

這篇文章主要講解了“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ù)。

Java中常用的緩存框架有哪些

官方網(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)注!

向AI問一下細(xì)節(jié)

免責(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)容。

AI