新聞中心
Redis在ARM體系上的實(shí)現(xiàn)

隨著物聯(lián)網(wǎng)和移動(dòng)設(shè)備的快速發(fā)展,ARM體系架構(gòu)已經(jīng)成為了不可忽視的一股力量。在這個(gè)背景下,Redis作為一款高性能的數(shù)據(jù)庫(kù),也需要適應(yīng)ARM體系架構(gòu)的需求。本文將介紹Redis在ARM體系上的實(shí)現(xiàn)情況,并簡(jiǎn)單介紹一些相關(guān)代碼。
Redis在ARM體系上的編譯
Redis的編譯對(duì)ARM體系來(lái)說(shuō)并不是太友好,因?yàn)锳RM體系的字節(jié)序是小端,而Redis默認(rèn)是大端字節(jié)序。所以,我們需要將Redis的源代碼進(jìn)行修改,以便能夠支持ARM體系的字節(jié)序。具體的修改方法如下:
1.打開redis-5.0.7/src/zmalloc.h頭文件,將以下代碼注釋掉,然后添加一行#define ZMALLOC_HAVE_MALLOC_H 1,如下所示:
/* #define ZMALLOC_HAVE_MALLOC_H */
#define ZMALLOC_HAVE_MALLOC_H 1
2.打開redis-5.0.7/src/redis.h頭文件,將以下代碼注釋掉,然后添加一行#define REDIS_LITTLE_ENDIAN 1,如下所示:
/* #define REDIS_LITTLE_ENDIAN */
#define REDIS_LITTLE_ENDIAN 1
3.打開redis-5.0.7/src/Makefile文件,在第15行添加以下代碼:CFLAGS+=-DREDIS_LITTLE_ENDIAN,如下所示:
CFLAGS?= -O2 -Wall -g -DREDIS_STATIC=” $(ARCH) $(PROF)
修改完以上三個(gè)文件之后,我們就可以使用make命令編譯Redis了。編譯完成之后,我們可以使用以下命令測(cè)試Redis是否能夠正常工作:
./src/redis-server
./src/redis-cli ping
如果輸出的結(jié)果是PONG,說(shuō)明Redis已經(jīng)成功運(yùn)行起來(lái)了。
Redis在ARM體系上的性能表現(xiàn)
為了測(cè)試Redis在ARM體系上的性能表現(xiàn),我們使用了一臺(tái)樹莓派4B(ARM Cortex-A72架構(gòu),4GB內(nèi)存)進(jìn)行測(cè)試。我們使用了Redis自帶的Redis-benchmark工具對(duì)Redis進(jìn)行了測(cè)試,測(cè)試結(jié)果如下所示:
[root@localhost ~]# ./redis-benchmark -t get -c 50 -n 100.00%0 localhost
====== GET ======
1000000 requests completed in 34.48 seconds
50 parallel clients
3 bytes payload
keep alive: 1
99.99%
100.00%
100.00%
100.00%
100.00%
100.00%
100.00%
100.00%
100.00%
100.00%
100.00%
100.00%
100.00%
100.00%
100.00%
100.00%
100.00%
100.00%
100.00%
100.00%
100.00%
100.00%
100.00%
100.00%
100.00%
100.00%
100.00%
28976.02 requests per second
從測(cè)試結(jié)果來(lái)看,Redis在ARM體系上的性能和在x86架構(gòu)上的性能相差不大,當(dāng)然,這也和我們的測(cè)試環(huán)境有關(guān)。但是,不管怎樣,Redis在ARM體系上的表現(xiàn)也是非常不錯(cuò)的。
結(jié)語(yǔ)
Redis可以在ARM體系上正常工作,并且具有不錯(cuò)的性能表現(xiàn)。如果你需要在ARM體系上使用Redis,只需要進(jìn)行一些適當(dāng)?shù)男薷模涂梢詫edis運(yùn)行在ARM體系上了。如果你對(duì)Redis在ARM體系上的實(shí)現(xiàn)有任何問(wèn)題,歡迎在評(píng)論區(qū)中留言,我們將竭誠(chéng)為您解答。
成都創(chuàng)新互聯(lián)科技有限公司,是一家專注于互聯(lián)網(wǎng)、IDC服務(wù)、應(yīng)用軟件開發(fā)、網(wǎng)站建設(shè)推廣的公司,為客戶提供互聯(lián)網(wǎng)基礎(chǔ)服務(wù)!
創(chuàng)新互聯(lián)(www.cdcxhl.com)提供簡(jiǎn)單好用,價(jià)格厚道的香港/美國(guó)云服務(wù)器和獨(dú)立服務(wù)器。創(chuàng)新互聯(lián)——四川成都IDC機(jī)房服務(wù)器托管/機(jī)柜租用。為您精選優(yōu)質(zhì)idc數(shù)據(jù)中心機(jī)房租用、服務(wù)器托管、機(jī)柜租賃、大帶寬租用,高電服務(wù)器托管,算力服務(wù)器租用,可選線路電信、移動(dòng)、聯(lián)通機(jī)房等。
分享標(biāo)題:Redis在ARM體系上的實(shí)現(xiàn)(redis適配arm)
標(biāo)題來(lái)源:http://m.fisionsoft.com.cn/article/copccoh.html


咨詢
建站咨詢
