Linux 拨号vps windows公众号手机端

Redis如何批量导入数据

lewis 5年前 (2020-05-09) 阅读数 11 #大数据
文章标签 redis

Redis批量导入数据的示例:

1.准备一个redis protocol的文件,通过java程序来输出的,代码如下:

<<RedisBatchTest>>

publicclassRedisBatchTest{

publicstaticvoidmain(String[]args){

StringoutputFile="d:\\temp\\redis_input.txt";

RedisBatchTesttest=newRedisBatchTest();

test.generateFile(outputFile);

}

/**

*格式化成输入字符串

*

*@paramargs

*@return

*/

privateStringgetString(Stringkey,Stringvalue){

StringBuildersb=newStringBuilder();

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");

returnsb.toString();

}

publicvoidgenerateFile(Stringfile){

BufferedWriterw=null;

Stringkey=null;

Stringvalue=null;

StringBuildersb=newStringBuilder();

try{

w=newBufferedWriter(newOutputStreamWriter(newFileOutputStream(file),"utf-8"));

for(inti=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("Currentwrite:"+i);

}

}

}catch(Exceptione){

e.printStackTrace();

}finally{

try{

w.flush();

w.close();

}catch(IOExceptione){

e.printStackTrace();

}

}

}

}

2.执行java代码后,会在d:\\temp目录下生成一个文本文件,将这个文件上传到要执行的机器上。

3.再通过终端控制台执行以下命令将文件内容批量导入即可。

catinput/redis_input.txt|bin/redis-cli-p6370-ayourpasswd–pipe


版权声明

本文仅代表作者观点,不代表米安网络立场。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

热门