Redis批量导入数据的方法

栏目: 数据库 · 发布时间: 6年前

内容简介:有时候,我们需要给redis库中插入大量的数据,如做性能测试前的准备数据。遇到这种情况时,偶尔可能也会懵逼一下,这里就给大家介绍一个批量导入数据的方法。先准备一个redis protocol的文件(redis protocol可以参考这里:https://redis.io/topics/protocol),这里是用java程序来输出的,java代码如下:<<RedisBatchTest>>

有时候,我们需要给 redis 库中插入大量的数据,如做性能测试前的准备数据。遇到这种情况时,偶尔可能也会懵逼一下,这里就给大家介绍一个批量导入数据的方法。

先准备一个redis protocol的文件(redis protocol可以参考这里:https://redis.io/topics/protocol),这里是用 java 程序来输出的,java代码如下:

<>

public class RedisBatchTest {

public static void main(String[] args) {

String outputFile = "d:\\temp\\redis_input.txt";

RedisBatchTest test = new RedisBatchTest();

test.generateFile(outputFile);

}

/**

* 格式化成输入字符串

*

* @param args

* @return

*/

private String getString(String key, String value) {

StringBuilder sb = new StringBuilder();

sb.append("*3").append("\r\n");

sb.append("$3").append("\r\n");

sb.append("SET\r\n");

sb.append("$").append(key.getBytes().length).append("\r\n");

sb.append(key).append("\r\n");

sb.append("$").append(value.getBytes().length).append("\r\n");

sb.append(value).append("\r\n");

return sb.toString();

}

public void generateFile(String file) {

BufferedWriter w = null;

String key = null;

String value = null;

StringBuilder sb = new StringBuilder();

try {

w = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(file), "utf-8"));

for (int i = 1; i <= 380; i++) {

key = "test_batch_" + i;

value = "v_" + i + "注册即送水电费ServiceTest"; // 这是key对应的value

sb.append(this.getString(key, value));

if (i % 10 == 0) {

w.write(sb.toString());

w.flush();

sb.delete(0, sb.length());

System.out.println("Current write: " + i);

}

}

} catch (Exception e) {

e.printStackTrace();

} finally {

try {

w.flush();

w.close();

} catch (IOException e) {

e.printStackTrace();

}

}

}

}

执行以上代码,就会在d:\\temp目录下生成一个文本文件,格式如下:

Redis批量导入数据的方法

以上就是redis protocol格式的文件了,请上传到要执行的机器上。然后使用以下命令来执行它:

cat input/redis_input.txt | bin/redis-cli -p 6370 -a yourpasswd –pipe

如果执行成功的话,你就可以看到如下信息了:

Redis批量导入数据的方法

从以上输出可以看出,380条数全部插入到redis服务器上啦。

更详细的信息,可以参考: https://redis.io/topics/mass-insert


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

淘宝、天猫电商运营百科全书

淘宝、天猫电商运营百科全书

刘涛 / 电子工业出版社 / 2016-7 / 59.00元

有人说淘宝、天猫上90%的卖家不赚钱,我认为说得有点大了。因为如果说大家都不赚钱或者在亏钱,为什么去年在做店铺的卖家,今年还在继续?那些不赚钱的卖家,多数是没意识到市场的变化,还在用原来的套路运营店铺。市场在变,但卖家的思路却没有转变,不赚钱也在情理之中,因为淘宝、天猫的玩法变了。做店铺就是好比一场“打怪”升级的游戏,每次的升级都需要强大的装备与攻略。优胜劣汰,能活下去并且能赚钱的卖家,都是在不停......一起来看看 《淘宝、天猫电商运营百科全书》 这本书的介绍吧!

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

在线进制转换器
在线进制转换器

各进制数互转换器

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试