package controllers;
import com.google.common.collect.Lists;
import com.google.gson.Gson;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.List;
import java.util.Map;
public class RedisFix extends ControllerBase {
public static List<String> readFileByBytes(String fileName) {
List<String> arrayList = Lists.newArrayList();
try {
FileReader fr = new FileReader(fileName);
BufferedReader bf = new BufferedReader(fr);
String str;
// 按行读取字符串
while ((str = bf.readLine()) != null) {
arrayList.add(str);
}
bf.close();
fr.close();
} catch (IOException e) {
e.printStackTrace();
}
return arrayList;
}
static {
initRedis();
}
public static void main(String[] args) {
List<String> r = readFileByBytes("C:\\Users\\faker\\Desktop\\redis_2.json");
Jedis jedis = pool.getResource();
for (String e : r) {
if (e == null || e.trim().equals("")) {
continue;
}
RedisVo redisVo = new Gson().fromJson(e, RedisVo.class);
if (redisVo.type.equals("list")) {
List<String> values = (List<String>) redisVo.value;
System.out.println(redisVo.key + "====" + values.size());
if (values != null || values.size() > 0) {
for (String val : values) {
jedis.rpush(redisVo.key, val);
}
}
}
if (redisVo.type.equals("hash")) {
Map<String,String> values = (Map<String,String>) redisVo.value;
System.out.println(redisVo.key + "====" + values.size());
if (values != null || values.size() > 0) {
for (Map.Entry each : values.entrySet()) {
jedis.hset(redisVo.key, each.getKey().toString(), each.getValue().toString());
}
}
}
if (redisVo.type.equals("string")) {
String values = (String) redisVo.value;
System.out.println(redisVo.key + "====" + values);
if (values != null || values.length() > 0) {
jedis.set(redisVo.key,values);
}
}
}
jedis.close();
}
private static JedisPool pool;
public static void initRedis() {
JedisPoolConfig config = new JedisPoolConfig();
config.setMaxTotal(100);
config.setMaxIdle(5);
config.setMaxWaitMillis(5000 * 100);
config.setTestOnBorrow(true);
String host = "47.***.**.***";
String password = "123456******";
pool = new JedisPool(config, host, 6379, 2000, password);
}
static class RedisVo {
String db;
String key;
String type;
Object value;
}
}
redis数据迁移
最新推荐文章于 2025-06-26 16:11:33 发布