文獻(xiàn)標(biāo)識(shí)碼: A
DOI:10.16157/j.issn.0258-7998.212432
中文引用格式: 劉世超,楊斌,劉衛(wèi)國. 高性能高可用Redis客戶端的設(shè)計(jì)與實(shí)現(xiàn)[J].電子技術(shù)應(yīng)用,2022,48(1):46-52,58.
英文引用格式: Liu Shichao,Yang Bin,Liu Weiguo. Design and implementation of high-performance and high-availability redis client[J]. Application of Electronic Technique,2022,48(1):46-52,58.
0 引言
隨著互聯(lián)網(wǎng)飛速發(fā)展以及大規(guī)模應(yīng)用的不斷涌現(xiàn),目前已經(jīng)步入了大數(shù)據(jù)時(shí)代。非結(jié)構(gòu)化數(shù)據(jù)逐漸替代了傳統(tǒng)結(jié)構(gòu)化數(shù)據(jù)并迅速占據(jù)了主導(dǎo)地位,為了管理形式多樣的非結(jié)構(gòu)化數(shù)據(jù),涌現(xiàn)了諸如MongoDB[1]、InfluxDB[2]、Elasticsearch[3]等十分有代表性的數(shù)據(jù)庫。這些數(shù)據(jù)庫雖然針對(duì)非結(jié)構(gòu)化數(shù)據(jù)的存取做了很多優(yōu)化,但是受限于硬盤(Hard Disk Drive,HDD)等底層存儲(chǔ)介質(zhì),往往無法滿足高性能場(chǎng)景的需求。
為了提高性能,以Redis為代表的內(nèi)存數(shù)據(jù)庫應(yīng)運(yùn)而生。Redis是一個(gè)非結(jié)構(gòu)化數(shù)據(jù)庫,支持使用非結(jié)構(gòu)化語言(Not-only Structured Query Language,NoSQL)查詢。同時(shí),Redis通過I/O(Input/Output)多路復(fù)用和DRAM(Dynamic Random Access Memory)提供了高吞吐、高并發(fā)和低時(shí)延的服務(wù),在數(shù)據(jù)緩沖、消息隊(duì)列、Key-Value存儲(chǔ)等場(chǎng)景都發(fā)揮了重要的作用。
但是隨著大規(guī)模計(jì)算集群的算力逐漸增大,應(yīng)用的數(shù)據(jù)規(guī)模也隨之變大,計(jì)算和I/O之間的“存儲(chǔ)墻”也變得愈發(fā)明顯?,F(xiàn)有的Redis也遇到一些網(wǎng)絡(luò)和存儲(chǔ)方面的問題。因此如何改進(jìn)Redis也受到了廣泛的重視,隨之出現(xiàn)了很多Redis優(yōu)化的相關(guān)工作,它們從各種角度對(duì)Redis服務(wù)端或客戶端做了改進(jìn)。
本文詳細(xì)內(nèi)容請(qǐng)下載:http://ihrv.cn/resource/share/2000003907。
作者信息:
劉世超1,2,楊 斌1,2,劉衛(wèi)國1,2
(1.山東大學(xué) 軟件學(xué)院,山東 濟(jì)南250101;2.國家超級(jí)計(jì)算無錫中心,江蘇 無錫214072)