https://github.com/withlin/redis-canal-rs
a redis canal by rust
https://github.com/withlin/redis-canal-rs
aof rdb rdb9 redis rust
Last synced: about 1 year ago
JSON representation
a redis canal by rust
- Host: GitHub
- URL: https://github.com/withlin/redis-canal-rs
- Owner: withlin
- Created: 2020-01-17T10:54:55.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2020-03-07T08:14:09.000Z (over 6 years ago)
- Last Synced: 2025-04-12T20:04:06.882Z (about 1 year ago)
- Topics: aof, rdb, rdb9, redis, rust
- Language: Rust
- Homepage:
- Size: 4.97 MB
- Stars: 11
- Watchers: 3
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# redis-canal-rs
## 简介

redis-canal-rs 是一个redis数据同步工具(支持RDB9解析以及AOF解析工具),支持到redis5.x版本。
## 背景
* Redis数据的跨机房同步
* 异构数据的迁移;比如Redis到mysql,MQ等
## 设计
模拟redis slave,然后去dump redis master的rdb和aof
## 用法
```
pub fn main() -> redis::RedisResult<()> {
let addr = String::from("localhost:6379");
let password = "pwd".to_string();
let offset = -1;
let db = 0;
let mut canal = rdb::Canal::new(addr, db, offset, password);
canal.dump_and_parse()?;
Ok(())
}
```
## TODO
- [ ] 断点续传继续完善
- [ ] 代码重构
- [ ] 支持async操作
- [ ] 支持读取数据后输出的过滤
- [ ] redis6.x
## 感谢
* [rdb-rs](https://github.com/badboy/rdb-rs)