往redis中寫入大量的資料
1.撰寫Python腳本,生成redis命令
redis_info.py
#!/usr/bin/python
for i in range(5000000): #回圈的數量
print 'set name'+str(i),'hello'+str(i) #str(i)將int型別轉換為str型別,否則不能進行字串拼接
2.運行python腳本輸出到redis_comm.txt檔案中
python redis_info.py > redis_comm.txt
生成一個redis_comm.txt檔案
head -n 10 redis_comm.txt
set name0 hello0
set name1 hello1
set name2 hello2
set name3 hello3
set name4 hello4
set name5 hello5
set name6 hello6
set name7 hello7
set name8 hello8
set name9 hello9
3.將redis命令生成Redis Protocol
撰寫腳本redis_data.sh
#!/bin/bash
while read CMD; do
# each command begins with *{number arguments in command}\r\n
XS=($CMD); printf "*${#XS[@]}\r\n"
# for each argument, we append ${length}\r\n{argument}\r\n
for X in $CMD; do printf "\$${#X}\r\n$X\r\n"; done
done < redis_comm.txt
4.運行shell腳本
sh redis_data.sh > redis_data.txt
head -n 10 redis_data.txt
*3
$3
set
$5
name0
$6
hello0
*3
$3
set
5.管道(Pipeline)就是為了改善這個情況的,利用管道技術,客戶端可以一次性發送多個請求而不用等待服務器的回應,待所有命令都發送完后再一次性讀取服務的回應,
cat redis_data.txt |redis-cli -h 192.168.102.95 --pipe
直接就可以運行了
6.驗證,去查看資料是否插入成功
info查看

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/257377.html
標籤:其他
上一篇:基本的Dos命令(慢慢更新~)
