解析Redis的緩存類型
HashMap/ConcurrentHashMap
HashMap 是一種基于哈希表的集合類,它提供了快速的插入、查找和刪除操作。是很多程序員接觸的第一種緩存 , 因?yàn)楝F(xiàn)實(shí)業(yè)務(wù)場(chǎng)景里,我們可能需要給緩存添加緩存統(tǒng)計(jì)、過期失效、淘汰策略等功能,HashMap 的功能就顯得弱。
Broker 與 Name Server 集群中的所有節(jié)點(diǎn)建立長(zhǎng)連接,定時(shí)每隔 30 秒注冊(cè) 主題的路由信息到所有 Name Server。
Name Server 集群的作用就是注冊(cè)中心,注冊(cè)中心會(huì)保存路由信息(主題的讀寫隊(duì)列數(shù)、操作權(quán)限等),路由信息就是保存在 HashMap 中 。
LinkedHashMap 緩存
LinkedHashMap 是 HashMap 的子類, 支持兩種順序插入順序 、 訪問順序。
TreeMap緩存
TreeMap 是基于紅黑樹的有序 Map,它可以按照鍵的順序進(jìn)行遍歷。 在一致性哈希中可以用作節(jié)點(diǎn)/虛擬節(jié)點(diǎn)的存儲(chǔ)結(jié)構(gòu),用來維護(hù)節(jié)點(diǎn)在哈希環(huán)上的位置和鍵的有序性。
ByteBuffer 緩存
ByteBuffer 是字節(jié)緩沖區(qū),主要用于用戶讀取和緩存字節(jié)數(shù)據(jù),在網(wǎng)絡(luò)編程里,經(jīng)常需要分配內(nèi)存,在高并發(fā)場(chǎng)景下,性能壓力比較大。Cobar 抽象了一個(gè) NIOProcessor 類用來處理網(wǎng)絡(luò)請(qǐng)求,每個(gè)處理器初始化的時(shí)候都會(huì)創(chuàng)建一個(gè)緩沖池 BufferPool 。
以上四種緩存:HashMap/ConcurrentHashMap 經(jīng)常用于配置緩存,對(duì)于 HashMap 來講,HashMap + 讀寫鎖 + 定時(shí)任務(wù)更新是常用的模式。LinkedHashMap 經(jīng)常被用于創(chuàng)建最近最少使用緩存 LruCache ,使用責(zé)任鏈+ 裝飾器的設(shè)計(jì)模式,內(nèi)置 LruCache 的實(shí)現(xiàn)就是使用 LinkedHashMap 。TreeMap 是一種基于紅黑樹的有序 Map 。TreeMap 在一致性哈希中可以用作節(jié)點(diǎn)/虛擬節(jié)點(diǎn)的存儲(chǔ)結(jié)構(gòu)。ByteBuffer 主要用于用戶讀取和緩存字節(jié)數(shù)據(jù),多用于網(wǎng)絡(luò)編程、文件 IO 處理等。以上希望大家在使用過程中注意!
到此這篇關(guān)于解析Redis的緩存類型的文章就介紹到這了,更多相關(guān)Redis 緩存 內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
深入理解Redis7哨兵模式(保姆級(jí)教學(xué))
Redis的主從復(fù)制存在一定的缺陷,為了解決這一問題,Redis官方推薦一種高可用方案哨兵模式,本文主要介紹了深入理解Redis7哨兵模式,具有一定的參考價(jià)值,感興趣的可以了解一下2024-01-01淺談Redis在分布式系統(tǒng)中的協(xié)調(diào)性運(yùn)用
這篇文章主要介紹了Redis在分布式系統(tǒng)中的協(xié)調(diào)性運(yùn)用,講解了Redis在進(jìn)程和線程的調(diào)度上以及消息隊(duì)列中的作用,需要的朋友可以參考下2016-03-03Redis節(jié)省內(nèi)存的十個(gè)技巧分享
你是否在工作中遇到過Redis的bigkey導(dǎo)致的內(nèi)存占用嚴(yán)重、查詢耗時(shí)大大增加?同時(shí)bigKey還可能導(dǎo)致Redis實(shí)例的崩潰,因?yàn)閮?nèi)存不夠用了,所以本文給大家介紹了Redis極大節(jié)省內(nèi)存的10個(gè)技巧,需要的朋友可以參考下2024-04-04為什么斷電后Redis數(shù)據(jù)不會(huì)丟失
Redis 作為一款內(nèi)存數(shù)據(jù)庫,被廣泛使用于緩存,分布式鎖等場(chǎng)景,那么假如斷電或者因其他因素導(dǎo)致 Reids 服務(wù)宕機(jī),在重啟之后數(shù)據(jù)會(huì)丟失嗎?本文就來介紹與一下2021-08-08