永发信息网

怎么向redis导入大量数据

答案:1  悬赏:60  手机版
解决时间 2021-04-04 23:06
怎么向redis导入大量数据
最佳答案
具体实现步骤如下:1.新建一个文本文件,包含redis命令SETKey0Value0SETKey1Value1SETKeyNValueN如果有了原始数据,其实构造这个文件并不难,譬如shell,python都可以2.将这些命令转化成RedisProtocol。因为Redis管道功能支持的是RedisProtocol,而不是直接的Redis命令。如何转化,可参考后面的脚本。3.利用管道插入catdata.txt|redis-cli--pipeShellVSRedispipe下面通过测试来具体看看Shell批量导入和Redispipe之间的效率。测试思路:分别通过shell脚本和Redispipe向数据库中插入10万相同数据,查看各自所花费的时间。Shell脚本如下:#!/bin/bashfor((i=0;i>redis.logdone每次插入的值都是helloworld,但键不同,name0,name1name99999。RedispipeRedispipe会稍微麻烦一点1>首先构造redis命令的文本文件在这里,我选用了python#!/usr/bin/pythonforiinrange(100000):print'setname'+str(i),'helloworld'#python1.py>redis_commands.txt#head-2redis_commands.txtsetname0helloworldsetname1helloworld2>将这些命令转化成RedisProtocol在这里,我利用了github上一个shell脚本,#!/bin/bashwhilereadCMD;do#eachcommandbeginswith*{numberargumentsincommand}\r\nXS=($CMD);printf"*${#XS[@]}\r\n"#foreachargument,weappend${length}\r\n{argument}\r\nforXin$CMD;doprintf"\$${#X}\r\n$X\r\n";donedoneredis_data.txt#head-7redis_data.txt*3$3set$5name0$10helloworld至此,数据构造完毕。测试结果
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
制冷设备维修工资收入多少
未曾启口掩疏离猜字谜
求一首歌,开头“因为爱”,刘惜君pk时曾经唱
全屏游戏时突然来电话游戏就会被强行退出,怎
— My computer doesn’t work. It needs so
小货车用的柴油机转速高的好还是转速低的哪个
古诗词一剪梅舟过吴江,关于吴江的诗词
模拟山羊PC版太空废物的牛羊任务怎么完成?
微信红包账户异常怎么解除
哪里有卖UNO纸牌?(香港或东莞)
百度网盘有病毒吗,百度云能储存木马病毒吗?
喉和鸡两个属相合吗?
巴卜短信平台下发的短信为什么会被驳回?
a→b→c→d是一条捕食食物链,下面有关这条食
现在中专学历在社会上可以干嘛?
推荐资讯
铃木K5 K6 是什么型号!
emmc闪存与SD卡哪个比较好?
根据下列化学实验事实得出的结论一定正确的是
雅虎邮箱和Outlook邮箱哪个好?
下面各数中,最大的数是A.-9B.-200C.2.9D.0
阅读理解Wereyouborninthe1990s?Doyouthin
Several southwestern provinces in China ar
谁用过徐墨斋风水仪?怎么样?
自己做生意怎么记账,自己开店,怎么做账
感觉自己侧脸好难看,有什么办法补救
给刚工作人的祝福语,描写懒人的诗句
在天书奇谈中装备怎样升到满星(13星)?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?