《電子技術應用》
您所在的位置:首頁 > 模擬設計 > 設計應用 > 高性能高可用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亚洲国产精品_日韩亚洲一区二区
91久久精品一区二区别| 性欧美大战久久久久久久免费观看| 国产精品初高中精品久久| 免费观看成人www动漫视频| 久久精品日产第一区二区| 性18欧美另类| 午夜精品久久久久久久| 亚洲伊人网站| 亚洲一区综合| 亚洲欧美精品在线观看| 亚洲一区欧美激情| 亚洲综合欧美| 欧美一区二区三区久久精品茉莉花 | 国产主播喷水一区二区| 国产亚洲欧美一区在线观看| 国产视频在线观看一区| 国产夜色精品一区二区av| 国产一区二区主播在线| 好看的日韩视频| 一区二区三区自拍| 亚洲欧洲日本国产| 99re热精品| 亚洲一级二级在线| 欧美一级理论性理论a| 久久精品二区三区| 亚洲人线精品午夜| 中文在线资源观看视频网站免费不卡| 亚洲无线一线二线三线区别av| 亚洲欧美激情四射在线日 | 欧美在线视频免费观看| 久久久久久久久久久久久久一区| 久久人91精品久久久久久不卡| 毛片av中文字幕一区二区| 欧美激情一区二区三区成人| 欧美日韩福利在线观看| 欧美性片在线观看| 国产乱码精品一区二区三区不卡| 国内久久婷婷综合| 亚洲韩日在线| 亚洲夜间福利| 亚洲电影毛片| 在线中文字幕不卡| 久久精彩视频| 欧美国产综合一区二区| 国产精品久久久久99| 国内精品久久久久影院薰衣草| 亚洲欧洲日本国产| 亚洲专区在线| 91久久午夜| 亚洲一区在线直播| 蜜桃av一区二区三区| 欧美日韩一级黄| 国产亚洲欧美日韩一区二区| 亚洲欧洲精品一区二区三区| 亚洲一区中文| 亚洲人成久久| 亚洲欧美日韩国产一区| 久久久久久一区二区| 欧美日韩国产电影| 国产一区激情| 99热免费精品在线观看| 久久精品一区二区| 中文一区二区在线观看| 久久天天躁狠狠躁夜夜爽蜜月| 欧美日韩午夜剧场| 一区在线观看| 亚洲一区二区三区777| 亚洲狠狠婷婷| 欧美在线视频不卡| 欧美日韩国产精品| 黄色成人免费网站| 亚洲一二三区在线| 日韩视频一区二区在线观看 | 久久九九国产精品怡红院| 欧美日韩精品一二三区| 国内精品久久久久久久影视麻豆| 99精品国产在热久久婷婷| 亚洲第一精品福利| 亚洲欧美日韩中文视频| 欧美精品情趣视频| 黄色综合网站| 亚洲欧美精品伊人久久| 一本一本大道香蕉久在线精品| 久久免费99精品久久久久久| 国产精品剧情在线亚洲| 亚洲承认在线| 欧美一区二区三区婷婷月色 | 午夜在线一区| 中文欧美日韩| 欧美二区在线看| 国外视频精品毛片| 亚洲自拍三区| 亚洲一区二区日本| 欧美精品v日韩精品v国产精品| 黄色日韩网站| 亚洲欧美资源在线| 亚洲欧美一区二区三区极速播放 | 亚洲国产精品久久久久秋霞影院 | 伊人久久男人天堂| 欧美影院精品一区| 午夜精彩国产免费不卡不顿大片| 欧美日本中文| 亚洲激情六月丁香| 亚洲国产一成人久久精品| 久久久久99| 国产亚洲午夜| 午夜日韩福利| 欧美一区二区视频97| 国产精品久久久久久久午夜片| 亚洲精品小视频| 亚洲美女视频| 欧美区亚洲区| 91久久精品国产91性色tv| 亚洲清纯自拍| 久久网站热最新地址| 国产在线视频欧美| 欧美在线播放| 久久久久久九九九九| 国产一区日韩一区| 亚洲成色www8888| 美女视频黄a大片欧美| 韩国一区二区在线观看| 久久国产精品72免费观看| 久久精品主播| 激情丁香综合| 最新高清无码专区| 欧美激情亚洲国产| 亚洲精品一区中文| 亚洲亚洲精品在线观看| 欧美日韩在线三级| 亚洲视频在线观看| 亚洲欧美综合精品久久成人| 国产女主播一区二区| 久久av在线| 免费亚洲视频| 亚洲精品美女在线| 亚洲综合色在线| 国产农村妇女毛片精品久久麻豆 | 国产精品国产三级国产普通话99| 中文亚洲欧美| 久久国产黑丝| 红桃视频成人| 亚洲精品久久7777| 欧美日韩在线播放一区| 亚洲午夜女主播在线直播| 欧美一区二区三区男人的天堂| 国产午夜精品美女视频明星a级| 久久精品91久久香蕉加勒比 | 亚洲精品亚洲人成人网| 亚洲欧美日本精品| 韩日在线一区| 日韩视频一区二区在线观看 | 亚洲一区二区黄色| 久久九九热re6这里有精品| 1024亚洲| 亚洲一区二区三区在线视频| 国产午夜精品理论片a级探花 | 午夜视频在线观看一区二区三区| 国产视频精品xxxx| 亚洲精品乱码久久久久久久久| 国产精品成人av性教育| 久久成人精品| 欧美日韩视频不卡| 久久精品国产亚洲精品| 欧美日韩精品在线| 欧美在线免费| 欧美日韩不卡合集视频| 香蕉国产精品偷在线观看不卡 | 一区二区免费在线播放| 久久精品国产精品亚洲综合| 亚洲激情成人| 欧美一级片在线播放| 亚洲国产一区二区a毛片| 亚洲欧美在线免费| 亚洲福利视频网| 欧美在线啊v一区| 亚洲精品1区2区| 久久久噜噜噜久久狠狠50岁| 99精品国产在热久久| 美日韩精品视频| 在线亚洲一区| 久热综合在线亚洲精品| 亚洲一本大道在线| 欧美久久久久中文字幕| 性色av一区二区三区在线观看| 欧美激情黄色片| 欧美亚洲在线视频| 欧美三级乱人伦电影| 亚洲第一中文字幕在线观看| 国产精品久久久久aaaa| 91久久精品国产| 国产欧美在线播放| 亚洲图片你懂的| 亚洲第一精品影视| 久久精品国产综合| 亚洲视频一区在线观看| 欧美日本不卡高清| 亚洲国产精品va| 国产视频在线观看一区| 亚洲欧美日韩一区二区三区在线|