欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

如何向redis中寫入大量的數(shù)據(jù)

 更新時(shí)間:2025年08月06日 10:09:48   作者:及時(shí)機(jī)芯  
文章介紹了通過(guò)Python腳本生成Redis命令并輸出至文件,再用Shell腳本批量執(zhí)行的流程,強(qiáng)調(diào)Pipeline技術(shù)可提升批量寫入效率,并說(shuō)明如何驗(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
  • 生成一個(gè)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)就是為了改善這個(gè)情況的

利用管道技術(shù),客戶端可以一次性發(fā)送多個(gè)請(qǐng)求而不用等待服務(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é)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • redis實(shí)現(xiàn)共同好友的思路詳解

    redis實(shí)現(xiàn)共同好友的思路詳解

    微信朋友圈大家都玩過(guò)吧,那么朋友圈的點(diǎn)贊、評(píng)論只能看到自己好友的信息是怎么操作的呢?下面通過(guò)本文給大家分享下此功能的實(shí)現(xiàn)流程,對(duì)redis實(shí)現(xiàn)共同好友的方法感興趣的朋友一起看看吧
    2021-05-05
  • Redis的Zset類型及相關(guān)命令詳細(xì)講解

    Redis的Zset類型及相關(guān)命令詳細(xì)講解

    這篇文章主要介紹了Redis的Zset類型及相關(guān)命令的相關(guān)資料,有序集合Zset是一種Redis數(shù)據(jù)結(jié)構(gòu),它類似于集合Set,但每個(gè)元素都有一個(gè)關(guān)聯(lián)的分?jǐn)?shù)score,并且可以根據(jù)分?jǐn)?shù)對(duì)元素進(jìn)行排序,需要的朋友可以參考下
    2025-01-01
  • Redis 緩存擊穿問(wèn)題及解決方案

    Redis 緩存擊穿問(wèn)題及解決方案

    緩存擊穿是指在高并發(fā)環(huán)境下,大量請(qǐng)求同時(shí)訪問(wèn)緩存中不存在的數(shù)據(jù),導(dǎo)致這些請(qǐng)求穿透到數(shù)據(jù)庫(kù),本文主要介紹了Redis緩存擊穿問(wèn)題及解決方案
    2023-12-12
  • 基于Redis實(shí)現(xiàn)每日登錄失敗次數(shù)限制

    基于Redis實(shí)現(xiàn)每日登錄失敗次數(shù)限制

    這篇文章主要介紹了通過(guò)redis實(shí)現(xiàn)每日登錄失敗次數(shù)限制的問(wèn)題,通過(guò)redis記錄登錄失敗的次數(shù),以用戶的username為key,本文給出了實(shí)例代碼,需要的朋友可以參考下
    2019-08-08
  • Redis用GEO實(shí)現(xiàn)附近的人功能

    Redis用GEO實(shí)現(xiàn)附近的人功能

    GEO就是Geolocation的簡(jiǎn)寫形式,代表地理坐標(biāo),這篇文章主要介紹了Redis用GEO實(shí)現(xiàn)附近的人功能,需要的朋友可以參考下
    2024-08-08
  • 通過(guò)docker和docker-compose安裝redis兩種方式詳解

    通過(guò)docker和docker-compose安裝redis兩種方式詳解

    這篇文章主要介紹了通過(guò)docker和docker-compose安裝redis的兩種方式,Docker安裝方式包括拉取鏡像、查看本地鏡像、運(yùn)行容器和測(cè)試連接,Docker Compose安裝方式包括目錄結(jié)構(gòu)、配置文件、啟動(dòng)和關(guān)閉容器、檢查啟動(dòng)情況以及查看CPU和內(nèi)存使用狀態(tài),需要的朋友可以參考下
    2024-12-12
  • 淺析Redis如何保證數(shù)據(jù)不丟失

    淺析Redis如何保證數(shù)據(jù)不丟失

    Redis是一種Nosql類型的數(shù)據(jù)存儲(chǔ),全稱Remote?Dictionary?Server,也就是遠(yuǎn)程字典服務(wù)器,本文主要來(lái)和大家討論一下Redis如何保證數(shù)據(jù)不丟失,需要的可以參考下
    2024-02-02
  • 淺析Redis分布式鎖

    淺析Redis分布式鎖

    本篇文章通過(guò)實(shí)例給大家講解了Redis分布式鎖工作原理以及用法分享,有需要的朋友參考學(xué)習(xí)下吧。
    2017-12-12
  • Redis數(shù)據(jù)遷移RedisShake的實(shí)現(xiàn)方法

    Redis數(shù)據(jù)遷移RedisShake的實(shí)現(xiàn)方法

    本文主要介紹了Redis數(shù)據(jù)遷移RedisShake的實(shí)現(xiàn)方法,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-04-04
  • Redis分布式限流組件設(shè)計(jì)與使用實(shí)例

    Redis分布式限流組件設(shè)計(jì)與使用實(shí)例

    本文主要講解基于 自定義注解+Aop+反射+Redis+Lua表達(dá)式 實(shí)現(xiàn)的限流設(shè)計(jì)方案。實(shí)現(xiàn)的限流設(shè)計(jì)與實(shí)際使用。具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-08-08

最新評(píng)論