redis-replicator是纯java编写的redis同步,以及aof,rdb解析的工具
支持sync,psync,psync2同步,以及aof,rdb,mixed文件解析
支持最新的redis4.0-rc2版本,以及redis4.0中的自定义module
可扩展性良好,支持自定义命令,自定义module,自定义rdb解析器.
除commons-logging以外无任何多余依赖
<dependency>
<groupId>com.moilioncircle</groupId>
<artifactId>redis-replicator</artifactId>
<version>2.0.0-rc2</version>
</dependency>
1.通过socket同步
final Replicator replicator = new RedisReplicator(
"127.0.0.1", 6379,
Configuration.defaultSetting());
replicator.addRdbListener(new RdbListener.Adaptor() {
@Override
public void handle(Replicator replicator, KeyValuePair<?> kv) {
System.out.println(kv);
}
});
replicator.addCommandListener(new CommandListener() {
@Override
public void handle(Replicator replicator, Command command) {
System.out.println(command);
}
});
replicator.open();
2.解析rdb文件
final Replicator replicator = new RedisReplicator(
new File("dump.rdb"), FileType.RDB,
Configuration.defaultSetting());
replicator.addRdbListener(new RdbListener.Adaptor() {
@Override
public void handle(Replicator replicator, KeyValuePair<?> kv) {
System.out.println(kv);
}
});
replicator.open();
3.解析aof文件
final Replicator replicator = new RedisReplicator(
new File("appendonly.aof"),
FileType.AOF, Configuration.defaultSetting());
replicator.addCommandListener(new CommandListener() {
@Override
public void handle(Replicator replicator, Command command) {
System.out.println(command);
}
});
replicator.open();