引用Jedis,用java导出和导入
/**
* 获取redis键值对,存入txt文件,返回存入行数
*/
public static int redisToTxt(Jedis jedis,String filePath){
int lines=0;
File file = new File(filePath); //文件路径,如果没有则要建立一个新的txt文件
BufferedWriter writer;
try {
writer = new BufferedWriter(new FileWriter(file));
Set set=jedis.keys("*");
String key;
String value;
for(Object obj:set){
key=obj.toString();
value=jedis.get(key);
writer.write("{\""+key+"\":"+value+"}\r\n"); // \r\n换行
lines++;
}
writer.flush(); // 把缓存区内容刷入文件
writer.close();
return lines;
} catch (IOException e) {
e.printStackTrace();
}
return lines;
}
/**
* 获取txt文件内容,写入redis,返回写入行数
* 用法:int i=txtToRedis(getJedisForSearch(),"D:\\fileTest.txt");
*/
public static int txtToRedis(Jedis jedis, String filePath){
int lines= 0;
String key;
String value;
String str;
try{
File file = new File(filePath); //文件路径
InputStreamReader inputStreamReader= new InputStreamReader(new FileInputStream(file), StandardCharsets.UTF_8);
BufferedReader reader=new BufferedReader(inputStreamReader);
while ((str=reader.readLine())!=null){
JSONObject json= JSON.parseObject(str);
key=json.keySet().iterator().next();
value=json.get(key).toString();
jedis.set(key,value);
lines++;
}
return lines;
}catch (Exception e){
e.printStackTrace();
}
return lines;
}