如何向redis中寫入大量的數(shù)據(jù)
更新時間:2025年08月06日 10:09:48 作者:及時機(jī)芯
文章介紹了通過Python腳本生成Redis命令并輸出至文件,再用Shell腳本批量執(zhí)行的流程,強(qiáng)調(diào)Pipeline技術(shù)可提升批量寫入效率,并說明如何驗(yàn)證數(shù)據(jù)插入成功
1.編寫Python腳本,生成redis命令
- redis_info.py
#!/usr/bin/python
for i in range(5000000): #循環(huán)的數(shù)量
print 'set name'+str(i),'hello'+str(i) #str(i)將int類型轉(zhuǎn)換為str類型,否則不能進(jìn)行字符串拼接
2.運(yùn)行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}
XS=($CMD); printf "*${#XS[@]}
"
# for each argument, we append ${length}
{argument}
for X in $CMD; do printf "$${#X}
$X
"; done
done < redis_comm.txt
4.運(yùn)行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)就是為了改善這個情況的
利用管道技術(shù),客戶端可以一次性發(fā)送多個請求而不用等待服務(wù)器的響應(yīng),待所有命令都發(fā)送完后再一次性讀取服務(wù)的響應(yīng)。
cat redis_data.txt |redis-cli -h 192.168.102.95 --pipe
直接就可以運(yùn)行了
6.驗(yàn)證,去查看數(shù)據(jù)是否插入成功
info查看

總結(jié)
以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Redis的Zset類型及相關(guān)命令詳細(xì)講解
這篇文章主要介紹了Redis的Zset類型及相關(guān)命令的相關(guān)資料,有序集合Zset是一種Redis數(shù)據(jù)結(jié)構(gòu),它類似于集合Set,但每個元素都有一個關(guān)聯(lián)的分?jǐn)?shù)score,并且可以根據(jù)分?jǐn)?shù)對元素進(jìn)行排序,需要的朋友可以參考下2025-01-01
基于Redis實(shí)現(xiàn)每日登錄失敗次數(shù)限制
這篇文章主要介紹了通過redis實(shí)現(xiàn)每日登錄失敗次數(shù)限制的問題,通過redis記錄登錄失敗的次數(shù),以用戶的username為key,本文給出了實(shí)例代碼,需要的朋友可以參考下2019-08-08
通過docker和docker-compose安裝redis兩種方式詳解
這篇文章主要介紹了通過docker和docker-compose安裝redis的兩種方式,Docker安裝方式包括拉取鏡像、查看本地鏡像、運(yùn)行容器和測試連接,Docker Compose安裝方式包括目錄結(jié)構(gòu)、配置文件、啟動和關(guān)閉容器、檢查啟動情況以及查看CPU和內(nèi)存使用狀態(tài),需要的朋友可以參考下2024-12-12
Redis數(shù)據(jù)遷移RedisShake的實(shí)現(xiàn)方法
本文主要介紹了Redis數(shù)據(jù)遷移RedisShake的實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-04-04
Redis分布式限流組件設(shè)計(jì)與使用實(shí)例
本文主要講解基于 自定義注解+Aop+反射+Redis+Lua表達(dá)式 實(shí)現(xiàn)的限流設(shè)計(jì)方案。實(shí)現(xiàn)的限流設(shè)計(jì)與實(shí)際使用。具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-08-08

