《電子技術應用》
您所在的位置:首頁 > 模擬設計 > 設計應用 > 高性能高可用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://www.jysgc.com/resource/share/2000003907




作者信息:

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

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




wd.jpg

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲欧美日韩视频一区| 欧美国产日韩精品免费观看| 亚洲高清视频在线| 亚洲综合国产激情另类一区| 日韩午夜视频在线观看| 亚洲国内在线| 在线日韩av片| 一色屋精品亚洲香蕉网站| 国产视频一区在线观看| 欧美性猛交视频| 欧美视频在线观看| 欧美三级日韩三级国产三级| 欧美日韩国产免费观看| 欧美日韩的一区二区| 欧美激情综合亚洲一二区| 女人色偷偷aa久久天堂| 欧美sm重口味系列视频在线观看| 久久伊人精品天天| 久久网站热最新地址| 久久久免费av| 久久伊人一区二区| 免费亚洲婷婷| 欧美黄色一区二区| 欧美日韩免费观看一区=区三区| 欧美精品一区二区在线观看| 欧美日韩不卡视频| 欧美午夜宅男影院在线观看| 国产精品扒开腿做爽爽爽视频 | 亚洲一区二区三区中文字幕| 亚洲手机成人高清视频| 亚洲在线不卡| 久久久国产精品一区二区三区| 久久亚洲美女| 欧美极品色图| 国产精品久久久久久久久久妞妞| 国产精品揄拍500视频| 国产一区二区三区久久精品| 尤物精品国产第一福利三区| 最新中文字幕亚洲| 亚洲一区二区网站| 久久国产欧美日韩精品| 亚洲三级网站| 亚洲主播在线观看| 久久精品首页| 欧美精品色综合| 国产精品毛片va一区二区三区 | 久久综合狠狠| 欧美伦理91i| 亚洲欧美精品在线| 欧美一级片在线播放| 亚洲国产欧美一区| 国产精品99久久久久久久久久久久| 亚洲自拍高清| 另类图片国产| 欧美亚州在线观看| 国内视频精品| av成人福利| 久久国产一区二区三区| 一本久久a久久精品亚洲| 性久久久久久久| 久热成人在线视频| 国产精品久久激情| 亚洲电影免费| 亚洲免费中文字幕| 亚洲精品美女久久久久| 欧美在线视频一区| 欧美日韩国产成人在线| 国产亚洲欧美一区| 日韩一级欧洲| 久久精品国产欧美亚洲人人爽| 中日韩在线视频| 久久综合色综合88| 国产精品美女久久久久久免费| 亚洲高清色综合| 亚洲欧美中文字幕| 一本一本a久久| 久久综合给合| 国产精品视频第一区| 91久久中文| 欧美专区18| 午夜国产精品视频| 欧美日韩福利| 亚洲福利视频专区| 欧美在线啊v| 亚洲女女女同性video| 欧美大片免费观看在线观看网站推荐| 国产精品免费一区豆花| 亚洲欧洲综合另类在线| 久久精品视频在线播放| 欧美一区二区免费| 欧美日韩一区高清| 亚洲国内自拍| 久久精品国产免费| 久久国产色av| 国产精品乱码一区二三区小蝌蚪| 亚洲精选在线| 91久久精品国产91久久性色tv| 久久激情五月婷婷| 国产精品wwwwww| 亚洲免费福利视频| 日韩亚洲欧美成人| 免费观看在线综合色| 国内精品亚洲| 先锋影音国产精品| 午夜精品网站| 国产精品久久久久久久久免费桃花| 日韩视频在线一区| 一本色道久久综合亚洲精品婷婷 | 欧美乱大交xxxxx| 亚洲电影成人| 亚洲欧洲另类| 男女激情视频一区| 伊人久久亚洲热| 久久精品人人| 蜜桃精品一区二区三区| 一区视频在线| 91久久精品一区二区三区| 美女诱惑一区| 一区二区在线观看视频| 久久精品人人爽| 另类av导航| 亚洲国产精品传媒在线观看| 亚洲激情视频网| 欧美不卡在线| 亚洲欧洲精品一区二区三区波多野1战4 | 欧美日韩中国免费专区在线看| 91久久综合| 一区二区欧美精品| 欧美日韩午夜视频在线观看| 日韩视频一区二区三区| 一本大道久久a久久精品综合| 欧美日本二区| 99pao成人国产永久免费视频| 亚洲天堂成人在线观看| 国产精品国产三级国产aⅴ9色| 亚洲一级黄色| 久久成人资源| 国产综合自拍| 亚洲国产精品一区二区www| 欧美va亚洲va日韩∨a综合色| 亚洲高清在线观看一区| 亚洲美女视频| 欧美日韩精品免费观看视一区二区 | 经典三级久久| 亚洲精品国产品国语在线app| 欧美国产一区在线| 亚洲裸体在线观看| 亚洲欧美国产视频| 国产欧美一区二区三区沐欲 | 欧美在线资源| 免费一级欧美片在线播放| 最近中文字幕mv在线一区二区三区四区 | 亚洲一区二区黄| 国产嫩草影院久久久久| 久久精品国产亚洲一区二区| 欧美激情亚洲一区| 在线亚洲成人| 久久久999成人| 亚洲激情电影在线| 亚洲欧美日韩精品| 在线不卡欧美| 亚洲一区免费网站| 国产亚洲二区| 亚洲日本乱码在线观看| 欧美亚洲不卡| 久久精品av麻豆的观看方式| 欧美电影免费观看高清| 亚洲一区二区久久| 麻豆成人综合网| 一区二区三区四区五区精品| 久久精品一区二区三区不卡| 91久久在线播放| 久久国产手机看片| 亚洲三级电影在线观看| 午夜在线电影亚洲一区| 亚洲大片av| 欧美一级夜夜爽| 亚洲欧洲三级电影| 欧美在线观看一二区| 亚洲国产精品久久久久秋霞蜜臀| 亚洲欧美日韩中文视频| 在线观看一区二区视频| 亚洲免费在线播放| 亚洲国产精品精华液2区45| 欧美一级片在线播放| 最新成人av网站| 久久九九久精品国产免费直播| 亚洲韩国精品一区| 欧美综合二区| 日韩午夜av在线| 媚黑女一区二区| 午夜精品一区二区三区电影天堂| 欧美美女bb生活片| 久久精品人人爽| 国产精品永久免费观看| 亚洲视频在线观看| 亚洲国产中文字幕在线观看| 久久精品女人的天堂av| 一本大道久久精品懂色aⅴ| 欧美成人一二三|