下面由redis教程欄目給大家介紹關于Redis批量寫入,希望對需要的朋友有所幫助!
最近測試redis性能,需要批量插入1千萬條以上的數據,
就簡單進行了研究,大概有以下幾種方法:
一:Java程序調用,簡單的for循環,通過Jedis的方法,直接插入,
????? ?至于速度,不用看,不用試,根本不行,就不給實現了。
二:通過shell腳本,也比較簡單,但也是因為要通過port端口的形式,
????? ?連接到redis,速度也是慢的不行,放棄。
三:通過redis提供管道,感覺這種方法是最靠譜的,一下是實現:
?步驟1:首先簡單寫一個shell腳本:
for((i=1;i>?/tmp/_t.txt????????done
目的是生成一個用批量插入的腳本文件,
步驟2:這里linux或者windows上生成的文件不能直接當做redis語句來跑,
簡單來說,就是因為linux,windows和dos的換行并不一樣,
所以需要簡單轉換一下:
轉換的方法有好多種:
1:一般Linux發行版中都帶有這個小工具,只能把DOS轉換為unix文件,命令如下:
#?unix2dos?dosfile.txt
上面的命令會去掉行尾的^M符號。(如果機器上沒有安裝nuix2dos,直接用方法2即可)
2:用vim,vim是vi的改進版本,使用方式:
#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萬條的情況下,生成腳本的速度稍慢,插入的速度還在幾分鐘,
速度可以說是非常快了~