一.物理导入

简介

redis集群在存储数据时,是根据槽点进行存储。例如老集群A如下:

都在一台机器,实际可以在多台机器上。

主节点:7000(0-5460) 7001(5461-10922) 7002(10923-16383)

从节点:7003 7004 7005

那如果有10万数据,它们就会按照hash值进行计算,按槽点存储。每个槽点将存储一些数据,那槽点的拥有者也将拥有和存储那些数据。

实际操作

老集群:1.1.1.1

主节点:7000(0-5460) 7001(5461-10922) 7002(10923-16383)

从节点:7003 7004 7005

新集群:1.1.1.2

主节点:6000(0-3000) 6001(3001-5460) 6002(5461-10922) 6003(10923-16383)

从节点:6004 6005 6006 6007

可以发现新集群的节点多了一个,他把6000节点的曹点分了一些过去,承担压力。

将老集群的7000节点的appendonly.aof用pipe方法导入到6000节点上。再将同文件导入到6001节点上。肯定会有一半左右报错,因为那些值在hash后,槽点为3555,但你要导入到6000节点里,那是不接受的,其他对应的会导入进去。所以不用管报错,效验数据总数即可。

cat /redis/7000/appendonly.aof | redis-cli -c -p 6000 -h 1.1.1.2 --pipe

cat /redis/7000/appendonly.aof | redis-cli -c -p 6001 -h 1.1.1.2 --pipe

aof文件里就是写入的命令语句,再利用pipe批量导入,是非常快捷而稳定的。

像上面,槽点是分开的,就都导入,多余的自然是没法写入的,只导入固定部分即可。然后用dbsize命令去对比一下所有节点总数据量,也要考虑数据中可能有过期策略的值,会导致数据总数一直减少。

最新文章

  1. web前端之性能优化
  2. php 接受处理二进制数据流并保存成图片
  3. 【HDU】2147 kiki's game
  4. jquery过滤器之:contains()、.filter()
  5. @SuppressWarnings含义
  6. 以http形式启动uwsgi服务
  7. oracle case when 语句
  8. C# Process.Kill() 拒绝访问(Access Denied) 的解决方案
  9. 便利的html5 之 required、number 、pattern
  10. 【Debian百科】巨页
  11. 利用servlet做转发,实现js跨域解决同源问题
  12. pyqt 简单判断指定的内容强度(比如帐号)
  13. SQLLoader1(简单测试,以控制文件方式导入数据)
  14. ASP.NET MVC:Razor 引入命名空间
  15. Tornado基于MiddleWare做中间件
  16. [转]python中pandas库中DataFrame对行和列的操作使用方法
  17. JSP总结(一)——基础(汇总)
  18. Python pickle使用
  19. Python3基础 list 查看filter()返回的对象
  20. 基于OpenGL编写一个简易的2D渲染框架-10 重构渲染器-Pass

热门文章

  1. 美妙绝伦面向node引用-zico图标(逐浪矢量全真图标)1.9发布
  2. vivo统一告警平台设计与实践
  3. 洛谷 P5224 - Candies(循环卷积)
  4. CentOS6.9安装python3
  5. zabbix忘记密码——进入数据库修改
  6. phpMyAdmin简介及安装
  7. MybatisPlus入门程序
  8. 学习java 6.29
  9. E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing
  10. 零基础学习java------37---------mybatis的高级映射(单表查询,多表(一对一,一对多)),逆向工程,Spring(IOC,DI,创建对象,AOP)