您好,登錄后才能下訂單哦!
本篇內容主要講解“java常用緩存有哪些”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“java常用緩存有哪些”吧!
緩存是日常開發的粗茶淡飯,如果應用對某類數據有著較高的讀取頻次,并且改動較小時那就非常適合利用緩存來提高性能
JVM 緩存
使用全局變量,如 Map、List等容器用于存放數據,可以認為是堆緩存
ehcache
ehcache直接在jvm虛擬機中緩存,效率高速度快;集群分布式應用不方便。在vm重啟后,緩存的數據可以在機器重啟后從磁盤上重新獲得
OSCache 支持集群:集群緩存數據能被單個的進行參數配置,不需要修改代碼 緩存過期最大限度的控制緩存對象的過期,包括可插入式的刷新策略 緩存模式
Guava Cache
線程安全的也是堆內緩存。支持自動清除數據、多種清除算法、清除回調、定時失效等功能,提供了三種基本的緩存回收方式:基于容量回收、定時回收和基于引用回收。定時回收有兩種:按照寫入時間,最早寫入的最先回收;按照訪問時間,最早訪問的最早回收
分布式緩存
常用Redis、Memcached、Geode 等等,為防止單點故障,一般在高并發系統中使用 Redis與MemCache的區別
線程操作 Redis是單線程操作,每次只處理一個請求 Memcache使用多核,多線程操作,可以同時處理多個請求。
數據結構
Redis 支持
String:字符串類型
List:列表類型
Set:無序集合類型
ZSet:有序集合類型
Hash:哈希表類型等數據結構的存儲。
memcached 只能保存【key/value】
數據安全性 Redis和MemCache都將數據存儲在內存中。但是MemCache服務宕機或重啟后數據是不可恢復的,而Redis服務宕機或重啟后可以恢復,可以將內存數據定期同步到磁盤中,Redis提供兩種持久化策略,默認支持的是RDB持久化以及需要手工開啟的AOF持久化。
數據備份 Redis支持數據備份,需開啟master-slave主從策略。
過期策略 MemCache 在set時就指定了過期時間 Redis 可以通過expire設置Key的過期時間。
內存回收 MemCache有內存回收機制,當程序中設置內存大小,一旦存儲的數據超過時自動回收,不然會出現內存溢出的情況。 Redis 將數據持久化到磁盤上,不會出現這種情況
到此,相信大家對“java常用緩存有哪些”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。