03: redis主从复制 RDB/AOF持久化 数据类型

本文详细介绍了Redis的主从复制配置,包括如何设置主从关系,实现故障转移,以及在主库宕机后手动和自动将从库提升为主库。此外,还探讨了RDB和AOF两种持久化方式,分别展示了如何利用这两种方式恢复数据。通过案例演示了RDB的备份、删除数据及恢复,以及AOF的启用、数据备份、数据删除及恢复过程。文章最后提及了Redis数据库的常用操作,包括不同数据类型的增删改查。
摘要由CSDN通过智能技术生成

Top

NSD NOSQL DAY03

  1. 案例1:配置redis主从复制
  2. 案例2 :使用RDB文件恢复数据
  3. 案例3 :使用AOF文件恢复数据
  4. 案例4:Redis数据库常用操作

1 案例1:配置redis主从复制

1.1 问题

  • 具体要求如下:
  • 将主机192.168.4.51作为主库
  • 将主机192.168.4.52作为从库
  • 测试配置
  1.  

1.2 步骤

实现此案例需要按照如下步骤进行。

步骤一:配置redis主从复制

1) 配置主从,4.51为主,4.52为从

若主机做过redis集群,需要在配置文件里面把开启集群,存储集群信息的配置文件都关闭,新主机则不用,这里用之前的redis集群做主从,需要还原redis服务器,4.51和4.52都需要还原(以4.51为例)

 
  1. [root@redisA ~]# redis-cli -c -h 192.168.4.51 -p 6351 shutdown    
  2. //先关闭redis集群
  3. [root@redisA ~]# vim /etc/redis/6379.conf
  4. bind 192.168.4.51
  5. port 6379
  6. # cluster-enabled yes
  7. # cluster-config-file nodes-6351.conf
  8.  
  9. [root@redisA ~]# /etc/init.d/redis_6379 start
  10. Starting Redis server...
  11.  
  12. [root@redisA ~]# ss -antlp | grep 6379
  13. LISTEN 0 511 192.168.4.51:6379 *:* users:(("redis-server",pid=22274,fd=6))
  14.  
  15. [root@redisA ~]# redis-cli -h 192.168.4.51
  16. 192.168.4.51:6379> info replication        //查看主从配置信息
  17. # Replication
  18. role:master            //默认是master 服务器
  19. connected_slaves:0
  20. master_replid:eaa14478158a71c41f947eaea036658c2087e8f2
  21. master_replid2:0000000000000000000000000000000000000000
  22. master_repl_offset:0
  23. second_repl_offset:-1
  24. repl_backlog_active:0
  25. repl_backlog_size:1048576
  26. repl_backlog_first_byte_offset:0
  27. repl_backlog_histlen:0
  28. 192.168.4.51:6379>

2)配置从库192.168.4.52/24

 
  1. 192.168.4.52:6379> SLAVEOF 192.168.4.51 6379            //把52配置为51的从库
  2. OK

从库查看

 
  1. 192.168.4.52:6379> INFO replication
  2. # Replication
  3. role:slave
  4. master_host:192.168.4.51        //主库为4.51
  5. master_port:6379
  6. master_link_status:up
  7. master_last_io_seconds_ago:3
  8. master_sync_in_progress:0

3)主库查看

 
  1. [root@redisA ~]# redis-cli -h 192.168.4.51
  2. 192.168.4.51:6379> info replication
  3. # Replication
  4. role:master
  5. connected_slaves:1
  6. slave0:ip=192.168.4.52,port=6379,state=online,offset=14,lag=1    //从库为4.52
  7. master_replid:db7932eb0ea4302bddbebd395efa174fb079319f
  8. master_replid2:0000000000000000000000000000000000000000
  9. master_repl_offset:14
  10. second_repl_offset:-1
  11. repl_backlog_active:1
  12. repl_backlog_size:1048576
  13. repl_backlog_first_byte_offset:1
  14. repl_backlog_histlen:14
  15. 192.168.4.51:6379>

4)反客为主,主库宕机后,手动将从库设置为主库

 
  1. [root@redisA ~]# redis-cli -h 192.168.4.51 shutdown            //关闭主库
  2.  
  3. 192.168.4.52:6379> SLAVEOF no one     //手动设为主库
  4. OK
  5. 192.168.4.52:6379> INFO replication
  6. # Replication
  7. role:master
  8. connected_slaves:0
  9. master_replid:00e35c62d2b673ec48d3c8c7d9c7ea3366eac33a
  10. master_replid2:db7932eb0ea4302bddbebd395efa174fb079319f
  11. master_repl_offset:420
  12. second_repl_offset:421
  13. repl_backlog_active:1
  14. repl_backlog_size:1048576
  15. repl_backlog_first_byte_offset:1
  16. repl_backlog_histlen:420
  17. 192.168.4.52:6379>

5)哨兵模式

主库宕机后,从库自动升级为主库

在slave主机编辑sentinel.conf文件

在slave主机运行哨兵程序

 
  1. [root@redisB ~]# redis-cli -h 192.168.4.52
  2. 192.168.4.52:6379> SLAVEOF 192.168.4.51 6379
  3. OK
  4. 192.168.4.52:6379> INFO replication
  5. # Replication
  6. role:slave
  7. master_host:192.168.4.51
  8. master_port:6379
  9. ...
  10.  
  11. [root@redisA ~]# /etc/init.d/redis_6379 start
  12. Starting Redis server...
  13.  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值