您好,登錄后才能下訂單哦!
這篇文章主要講解了“Java中常用的緩存框架有哪些”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“Java中常用的緩存框架有哪些”吧!
0x01:Ehcache
Ehcache是一個Java實現的開源分布式緩存框架,EhCache可以有效地減輕數據庫的負載,可以讓數據保存在不同服務器的內存中,在需要數據的時候可以快速存取。同時EhCache 擴展非常簡單,官方提供的Cache配置方式有多種。可以聲明配置、xml中配置、程序里配置或者調用構造方法時傳入不同的參數。
官方網站
http://ehcache.org/
Ehcache有如下特點
存取速度非常快,性能很不錯。
支持應用多種緩存策略。
分級緩存,用戶可以指定哪些數據在硬盤中緩存,哪些數據在內存中緩存。
可以通過RMI、可插入API等方式進行分布式緩存。
具有緩存和緩存管理器的偵聽接口。
支持多緩存管理器實例,以及一個實例的多個緩存區域。
默認提供Hibernate的緩存實現。
0x02:Cacheonix
Cacheonix同樣也是一個基于Java的分布式集群緩存系統,它同樣可以方便的實現分布式緩存的部署。Cacheonix作為一款開源的分布式緩存框架,可以滿足中型企業規模的系統架構,對提升系統性能有非常棒的作用。
官方網站
http://www.cacheonix.com/
Cacheonix有如下特點
可靠的分布式 Java 緩存
通過復制實現高可用性
支持泛型的緩存 API
可與 ORM 框架集成
使用數據分區實現負載均衡
支持非多播網絡
高性能計算
快速的本地 Java 緩存
分布式鎖機制
0x03:JBoss Cache
JBoss Cache是一款基于Java的事務處理緩存系統,它的目標是構建一個以Java框架為基礎的集群解決方案,可以是服務器應用,也可以是Java SE應用。
官方網站
http://jbosscache.jboss.org/
JBoss Cache有如下特點
集群高可用性
JBoss Cache是可復制的Cache,狀態總是和集群中的其它服務器同步保存。這使得任何存儲在JBoss Cache的狀態都能得到恢復,即使因服務器崩潰或重啟。
集群的cache消除了瓶頸
JBoss Cache設計來緩存經常被訪問到的Java對象,目的是動態地改進應用程序的性能。這使得移除數據訪問瓶頸更容易,例如數據庫連接。
JBoss Cache實例很注意遠程Cache的更新和同步。
企業級
JBoss Cache是高級的、企業級數據網格解決方案,提供了如事務處理、回收和Cache載入等特征。
許可證
JBoss Cache基于LGPL許可證,100%開源。
0x04:OSCache
OSCache是個一個廣泛采用的高性能的J2EE緩存框架,OSCache能用于任何Java應用程序的普通的緩存解決方案。
官方網站
http://www.opensymphony.com/oscache/
OSCache有如下特點
緩存任何對象。可以不受限制的緩存部分jsp頁面或HTTP請求,任何java對象都可以緩存。
擁有全面的API。OSCache API提供全面的程序來控制所有的OSCache特性。
永久緩存。緩存能隨意的寫入硬盤,因此允許昂貴的創建(expensive-to-create)數據來保持緩存,甚至能讓應用重啟。
支持集群。集群緩存數據能被單個的進行參數配置,不需要修改代碼
緩存記錄的過期-。可以很大限度的控制緩存對象的過期,包括可插入式的刷新策略(如果默認性能不需要時)
0x05:Memcached
Memcached是一種基于內存的key-value存儲,用來存儲小塊的任意數據(字符串、對象)。這些數據可以是數據庫調用、API調用或者是頁面渲染的結果。Memcached簡潔而強大。它的簡潔設計便于快速開發,減輕開發難度,解決了大數據量緩存的很多問題。它的API兼容大部分流行的開發語言。本質上,它是一個簡潔的key-value存儲系統。
官方網站:
http://memcached.org/
Memcached有如下特點
基于libevent的事件處理
memcached不互相通信的分布式
協議簡單
內置內存存儲方式
0x06:J2Cache
J2Cache 是 OSChina 目前正在使用的兩級緩存框架。第一級緩存使用 Ehcache,第二級緩存使用 Redis 。由于大量的緩存讀取會導致 L2 的網絡成為整個系統的瓶頸,因此 L1 的目標是降低對 L2 的讀取次數。該緩存框架主要用于集群環境中。單機也可使用,用于避免應用重啟導致的 Ehcache 緩存數據丟失。
文檔
https://www.oschina.net/doc/652
另外J2Cache的代碼倉庫在碼云上,可以去搜索一下。更詳細介紹
https://my.oschina.net/javayou/blog/1931381
0x07:JetCache
JetCache是阿里開源的緩存框架。JetCache是一個基于java的緩存系統封裝,提供統一的API和注解簡化緩存的使用。JetCache提供了比SpringCache更強大的注解,可以原生的支持TTL、兩級緩存、分布式自動刷新,提供了Cache接口用于手工緩存操作。當前有四個實現,RedisCache、TairCache、CaffeineCache和一個簡易的LinkedHashMapCache,要添加新的實現也是非常簡單。
官方網站
https://github.com/alibaba/jetcache
JetCache有如下特點
通過統一的API訪問Cache系統
通過注解實現聲明式的方法緩存
通過注解創建并配置Cache實例
針對所有Cache實例和方法緩存的自動統計
Key的生成策略和value的序列化策略是可以配置的
分布式緩存自動刷新,分布式鎖
異步Cache API
Spring Boot支持
感謝各位的閱讀,以上就是“Java中常用的緩存框架有哪些”的內容了,經過本文的學習后,相信大家對Java中常用的緩存框架有哪些這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。