名称:

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返回的结果并解析,如果出现错误则显示错误结果

使用:

  1. Usage: ./pika_to_redis db_path ip port thread_number [password]
  2. $ ./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