名称:
pika_to_redis
位置:
pika/tools/pika_to_redis
目的:
离线迁移pika数据到redis
背景:
Pika兼容Redis协议,所以任何使用于Redis的迁移工具同样也适用于Pika,Redis-cli本身提供了一个pipe参数来完成Pika到Redis
- 迁移过程中,读取db文件
- 错误输出
- 线程并行方式代替串行方式,提高迁移效率
实现:
migrator线程
- 扫描不同数据类型的分库
- 将key进行解析成响应数据redis指令
- 将解析好的redis指令加载到sender的发送buf中
sender线程
- 从发送buf中读取数据,以非阻塞方式向redis发送数据
- 接收redis返回的结果并解析,如果出现错误则显示错误结果
使用:
Usage: ./pika_to_redis db_path ip port thread_number [password]
$ ./pika_to_redis ~/db 127.0.0.1 6379 20 123456
地址:
原文: https://github.com/Qihoo360/pika/wiki/pika%E5%88%B0redis%E8%BF%81%E7%A7%BB%E5%B7%A5%E5%85%B7