溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Redis批量寫入的案例

發(fā)布時(shí)間:2020-10-09 17:32:27 來源:億速云 閱讀:391 作者:小新 欄目:關(guān)系型數(shù)據(jù)庫

Redis批量寫入的案例?這個(gè)問題可能是我們?nèi)粘W(xué)習(xí)或工作經(jīng)常見到的。希望通過這個(gè)問題能讓你收獲頗深。下面是小編給大家?guī)淼膮⒖純?nèi)容,讓我們一起來看看吧!

最近測(cè)試redis性能,需要批量插入1千萬條以上的數(shù)據(jù),

就簡單進(jìn)行了研究,大概有以下幾種方法:

一:java程序調(diào)用,簡單的for循環(huán),通過Jedis的方法,直接插入,

至于速度,不用看,不用試,根本不行,就不給實(shí)現(xiàn)了。

二:通過shell腳本,也比較簡單,但也是因?yàn)橐ㄟ^port端口的形式,

連接到redis,速度也是慢的不行,放棄。

三:通過redis提供管道,感覺這種方法是最靠譜的,一下是實(shí)現(xiàn):

步驟1:首先簡單寫一個(gè)shell腳本:

for((i=1;i<=1000000;i++))        doecho "set k$i v$i" >> /tmp/_t.txt        done

目的是生成一個(gè)用批量插入的腳本文件,

步驟2:這里linux或者windows上生成的文件不能直接當(dāng)做redis語句來跑,

簡單來說,就是因?yàn)閘inux,windows和dos的換行并不一樣,

所以需要簡單轉(zhuǎn)換一下:

轉(zhuǎn)換的方法有好多種:

1:一般Linux發(fā)行版中都帶有這個(gè)小工具,只能把DOS轉(zhuǎn)換為UNIX文件,命令如下:

# unix2dos dosfile.txt

上面的命令會(huì)去掉行尾的^M符號(hào)。(如果機(jī)器上沒有安裝nuix2dos,直接用方法2即可)

2:用vim,vim是vi的改進(jìn)版本,使用方式:

#vim file.txt
:set fileformat=dos
::wq

一行命令即可,保存退出,

步驟3:就是跑腳本了,通過redis提供的管道--pipe形式,

cat redisTest.txt | redis-cli -h reids.aliyuncs.com -p 6379 -a xxxx --pipe

三步即可,完成redis的批量插入,速度,在2000萬條的情況下,生成腳本的速度稍慢,插入的速度還在幾分鐘,

速度可以說是非常快了~

感謝各位的閱讀!看完上述內(nèi)容,你們對(duì)Redis批量寫入的案例大概了解了嗎?希望文章內(nèi)容對(duì)大家有所幫助。如果想了解更多相關(guān)文章內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI