《電子技術應用》
您所在的位置:首頁 > 模擬設計 > 設計應用 > 高性能高可用Redis客戶端的設計與實現
高性能高可用Redis客戶端的設計與實現
2022年電子技術應用第1期
劉世超1,2,楊 斌1,2,劉衛國1,2
1.山東大學 軟件學院,山東 濟南250101;2.國家超級計算無錫中心,江蘇 無錫214072
摘要: Redis是一個基于內存存儲的非結構化數據庫,以高I/O(Input/Output)性能和高響應速度著稱,在數據緩沖、消息隊列、Key-Value存儲等場景都發揮著重要的作用。在其支持的眾多客戶端中,C/C++客戶端Hiredis的應用尤為廣泛。對Hiredis庫做了深入分析,發現了其管道功能存在高開銷、指令存儲不當以及內存混淆問題。基于此,在32邏輯核的X86架構處理器以及64 GB內存的Linux服務器上,設計并實現了一個面向C/C++的高性能高可用Redis客戶端,通過內存預分配以及內存隔離的方法提高了大量指令批處理時的性能并解決了復雜場景下的內存混淆問題。經測試,新客戶端提高了3~7倍的指令執行效率,同時也保證了復雜場景下的內存安全以及數據準確性。
中圖分類號: TP391
文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.212432
中文引用格式: 劉世超,楊斌,劉衛國. 高性能高可用Redis客戶端的設計與實現[J].電子技術應用,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.
Design and implementation of high-performance and high-availability redis client
Liu Shichao1,2,Yang Bin1,2,Liu Weiguo1,2
1.School of Software,Shandong University,Jinan 250101,China;2.National Supercomputing Center in Wuxi,Wuxi 214072,China
Abstract: Redis is an unstructured database based on memory storage. It is known for high I/O(Input/Output) performance and high response speed. It plays an important role in data buffering, message queues, key-value storage and other scenarios. Among the many clients it supports, the C/C++ client Hiredis is particularly widely used. This article did an in-depth analysis of the Hiredis library and found that its pipeline function has high overhead, improper instruction storage, and memory confusion problems. Based on this, this article designs and implements a C/C++-oriented high-performance and high-availability Redis client on a 32-core X86 architecture processor and a 64 GB memory Linux server. It improves the performance of processing a large number of instructions and solves the problem of memory confusion in complex scenarios through memory pre-allocation and memory isolation. After testing, the new client has improved instruction execution efficiency by 3~7 times, while also ensuring memory safety and accuracy in complex scenarios.
Key words : Redis;pipeline;Hiredis;memory confusion;performance optimization

0 引言

    隨著互聯網飛速發展以及大規模應用的不斷涌現,目前已經步入了大數據時代。非結構化數據逐漸替代了傳統結構化數據并迅速占據了主導地位,為了管理形式多樣的非結構化數據,涌現了諸如MongoDB[1]、InfluxDB[2]、Elasticsearch[3]等十分有代表性的數據庫。這些數據庫雖然針對非結構化數據的存取做了很多優化,但是受限于硬盤(Hard Disk Drive,HDD)等底層存儲介質,往往無法滿足高性能場景的需求。

    為了提高性能,以Redis為代表的內存數據庫應運而生。Redis是一個非結構化數據庫,支持使用非結構化語言(Not-only Structured Query Language,NoSQL)查詢。同時,Redis通過I/O(Input/Output)多路復用和DRAM(Dynamic Random Access Memory)提供了高吞吐、高并發和低時延的服務,在數據緩沖、消息隊列、Key-Value存儲等場景都發揮了重要的作用。

    但是隨著大規模計算集群的算力逐漸增大,應用的數據規模也隨之變大,計算和I/O之間的“存儲墻”也變得愈發明顯。現有的Redis也遇到一些網絡和存儲方面的問題。因此如何改進Redis也受到了廣泛的重視,隨之出現了很多Redis優化的相關工作,它們從各種角度對Redis服務端或客戶端做了改進。




本文詳細內容請下載:http://m.jysgc.com/resource/share/2000003907




作者信息:

劉世超1,2,楊  斌1,2,劉衛國1,2

(1.山東大學 軟件學院,山東 濟南250101;2.國家超級計算無錫中心,江蘇 無錫214072)




wd.jpg

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
久久久视频精品| 国产色爱av资源综合区| 久久福利毛片| 亚洲午夜精品一区二区| 日韩视频亚洲视频| 亚洲激情电影在线| 久久精品一区| 亚洲国产精品久久人人爱蜜臀 | 亚洲一区中文| 中文在线一区| 亚洲视频碰碰| 亚洲特色特黄| 亚洲综合好骚| 欧美亚洲综合在线| 久久久av水蜜桃| 久久一二三国产| 蜜桃av综合| 欧美国产一区二区在线观看| 欧美黄免费看| 欧美日韩国产精品一卡| 欧美日韩国产精品一卡| 欧美性色aⅴ视频一区日韩精品| 欧美视频亚洲视频| 国产精品久久久久影院亚瑟| 国产精品免费一区豆花| 国产日韩专区| 一区在线观看| 亚洲日韩视频| 中文久久乱码一区二区| 亚洲欧美国产精品va在线观看| 午夜精品国产| 亚洲国产日韩欧美| 99精品免费| 亚洲欧美成人网| 久久久久成人网| 欧美激情91| 国产精品久久久亚洲一区| 国产欧美综合在线| 亚洲国产精品成人va在线观看| 亚洲伦伦在线| 亚洲一区二区三区777| 欧美中文字幕在线播放| 亚洲精品国偷自产在线99热| 中国av一区| 久久精品99国产精品| 乱码第一页成人| 欧美欧美全黄| 国产日产高清欧美一区二区三区| 韩国精品在线观看| 亚洲人体1000| 亚洲欧美在线aaa| 亚洲精品影院| 欧美一级在线播放| 欧美ab在线视频| 欧美午夜免费电影| 狠狠久久亚洲欧美专区| 亚洲人成在线观看| 先锋影音久久久| 亚洲精品午夜| 欧美在线黄色| 欧美激情欧美狂野欧美精品| 欧美视频在线免费看| 国内自拍一区| 一区二区精品| 亚洲人成在线影院| 欧美一级电影久久| 欧美精品久久久久久| 国产老女人精品毛片久久| 亚洲国产高清在线| 亚洲欧美日韩人成在线播放| 日韩午夜精品视频| 久久精品91| 国产精品chinese| 亚洲电影在线看| 亚洲欧美视频一区| 在线亚洲自拍| 免费亚洲婷婷| 国产欧美日韩不卡免费| 亚洲日本成人| 亚洲国产成人一区| 午夜精品在线视频| 欧美另类视频在线| 激情久久一区| 性欧美办公室18xxxxhd| 亚洲一区二区不卡免费| 欧美超级免费视 在线| 国产视频自拍一区| 亚洲视频国产视频| 亚洲乱亚洲高清| 久久综合亚洲社区| 国产色视频一区| 亚洲一二三区精品| 亚洲婷婷综合色高清在线| 米奇777在线欧美播放| 国产视频不卡| 亚洲制服av| 亚洲一区二区欧美日韩| 欧美精品一卡二卡| 亚洲成色精品| 亚洲国产另类久久精品| 久久国内精品自在自线400部| 欧美三级小说| 亚洲美女毛片| 一本久久a久久精品亚洲| 欧美成人嫩草网站| 在线欧美日韩| 亚洲高清久久网| 久久在线免费视频| 国产一区二区三区在线观看网站| 亚洲欧美精品在线| 亚洲欧美一区二区激情| 欧美视频日韩视频| 中文一区二区| 亚洲永久免费| 国产精品久久久久9999吃药| 日韩一级在线观看| 中国成人黄色视屏| 欧美视频中文字幕在线| 99国内精品久久久久久久软件| av不卡在线看| 欧美日韩另类在线| 一本色道久久88综合亚洲精品ⅰ| 日韩视频精品在线| 欧美区二区三区| 日韩视频永久免费观看| 一区二区欧美亚洲| 欧美性生交xxxxx久久久| 国产精品99久久久久久久久久久久| 亚洲少妇在线| 欧美性大战久久久久久久| 亚洲图片自拍偷拍| 欧美综合第一页| 狠狠色丁香婷综合久久| 亚洲国产精品va在线看黑人动漫 | 在线一区视频| 午夜欧美电影在线观看| 国产精品日韩精品欧美在线| 亚洲欧美一区二区精品久久久| 欧美一区二区高清| 国产亚洲福利社区一区| 亚洲国产导航| 欧美激情视频一区二区三区在线播放| 最新日韩av| 亚洲午夜羞羞片| 国产精品视频网站| 久久国产黑丝| 欧美高潮视频| 一区二区三区成人精品| 欧美一区二区| 精品成人在线观看| 99精品国产在热久久下载| 欧美性色视频在线| 欧美在线观看你懂的| 免费欧美高清视频| 99精品国产福利在线观看免费| 欧美亚洲一级片| 狠狠色狠狠色综合日日小说| 亚洲精品国产视频| 国产精品狠色婷| 亚洲第一页自拍| 欧美视频在线观看 亚洲欧| 午夜综合激情| 欧美国产日本在线| 亚洲一区久久| 免费不卡中文字幕视频| 一区二区三区成人精品| 久久久久久噜噜噜久久久精品| 亚洲日韩中文字幕在线播放| 欧美一区深夜视频| 亚洲国产精选| 欧美亚洲一区三区| 亚洲电影成人| 亚洲欧美在线aaa| 亚洲电影下载| 欧美一区二区| 亚洲日韩欧美视频一区| 久久精品盗摄| 99re这里只有精品6| 久久久久久久综合色一本| 夜夜爽夜夜爽精品视频| 久久五月激情| 亚洲一区二区动漫| 欧美96在线丨欧| 香蕉久久夜色精品国产使用方法| 免费在线亚洲欧美| 亚洲男人的天堂在线| 欧美日本免费一区二区三区| 欧美一区激情| 欧美视频在线观看| 亚洲精品激情| 国内自拍亚洲| 欧美一乱一性一交一视频| 亚洲精品裸体| 久久在线免费| 欧美亚洲日本网站| 国产精品v片在线观看不卡| 亚洲理伦在线| 伊人色综合久久天天五月婷| 欧美一区二区三区播放老司机| 亚洲精品国产精品国自产观看|