如何高效地向Redis寫入大量的資料

2023-03-06 17:50:08 字數 1403 閱讀 2453

1樓:匿名使用者

具體實現步驟如下:

1. 新建一個文字檔案,包含redis命令。

set key0 value0

set key1 value1

set keyn valuen

如果有了原始資料,其實構造這個檔案並不難,譬如shell,python都可以。

2. 將這些命令轉化成redis protocol。

因為redis管道功能支援的是redis protocol,而不是直接的redis命令。

如何轉化,可參考後面的指令碼。

3. 利用管道插入。

cat | redis-cli --pipe

shell vs redis pipe

下面通過測試來具體看看shell批量匯入和redis pipe之間的效率。

測試思路:分別通過shell指令碼和redis pipe向資料庫中插入10萬相同資料,檢視各自所花費的時間。

shell指令碼如下:

#!/bin/bash

for ((i=0;i<100000;i++)

doecho -en "helloworld" |redis-cli -x set name$i >>

done每次插入的值都是helloworld,但鍵不同,name0,name1...name99999。

redis pipe

redis pipe會稍微麻煩一點。

1> 首先構造redis命令的文字檔案。

在這裡,我選用了python

#!/usr/bin/python

for i in range(100000):

print 'set name'+str(i),'helloworld'

# python > redis_

# head -2 redis_

set name0 helloworld

set name1 helloworld

2> 將這些命令轉化成redis protocol

在這裡,我利用了github上一個shell指令碼,#!/bin/bash

while read cmd; do

# each command begins with *

xs=($cmd); printf "*r"

for x in $cmd; do printf "$x"; done

done < redis_

# sh > redis_

# head -7 redis_

setname0

helloworld

至此,資料構造完畢。

測試結果。

2樓:侯雲飛的老巢

使用多個客戶端連線併發寫入。

如何將redis中的值寫入資料庫

如何高效地使用OneNote

一直以來,onenote是用來做筆記的一年多。從最初的衝突到現在的習慣,心態的變化主要是由於軟體的徹底使用者體驗。地球上有什麼特別的地方?話夠了,你為什麼還要多開一個軟體?這不是記筆記軟體,記筆記等嗎?onenote的獨特的地方是什麼,不要走開,讓我們一起看看它!在任何輸入文字位置註釋頁中,丟失鍵兩...

winform如何向竄口裝置中寫入資料

你用的是那個開發平臺,我給你個.net2005c 下面的部分 首先你要在專案裡新增axmscomm物件,就是那個小 的元件然後在介面裡例項化一個,下面假設 axmscomm物件的名字為 mycom1byte sendbyte new byte 6 sendbyte 0 0xaa sendbyte 1...

如何高效地開會,如何輕鬆開一次高效的會議

如何有效的開會 開會要花費寶貴的時間和金錢。故而會議要在有必要時才開,並且要開得簡短有效。1.每次一開始就讓大家都清楚會議目的。2.如果某個問題不開會也能解決,就不要開會。3.要認真考慮,是甚麼使會議成功,反之又是甚麼使會議不成功。4.要考慮 如果不開這個常規會議又會怎麼樣。5.請記住,上級主管參加...