特点

1. Master可以拥有多个Slave

2. 多个Slave除可以连接一个Master外,还可以连接多个Salve(避免Master挂掉不能同步,当Master挂掉,其中一个Slave会立即变成Master)

3. 主从同步的时候不会阻塞Master,同步的时候Master仍然可以继续处理Client请求

4. 提高伸缩性

主从同步原理

1. Slave向Master发起建立连接,发起同步请求命令

2. Master会启动一个后台,将数据快照保存到文件中,同时Master主进程会收集新的写命令并缓存

3. 后台完成保存之后,会将此文件发给Slave

4. Slave将此文件保存到硬盘

主从复制步骤

1. 启动Master服务器

2. 使用Vi编辑器修改 Slave 的 redis.conf文件, 找到 slaveof 所在的行,设置为 slaveof 192.168.221.128 6379 (表示Master服务器的ip和端口)

3. 如果 Master 服务器设置有密码,需要 找到 masterauth 所在的行,设置为 masterauth hexu (表示Master服务器的密码)

4. 启动Slave服务器

问题:如何查看哪台是Master,哪台是Slave?

答:通过 info 命令的反馈,

# Replication
role:slave

master_link_status:up 表示正在连接Master,所以这台是 Salve

可以看到,当 db.StringSet 到 Master库的时候,Slave库也得到了数据,主从复制成功

三. Redis 主从复制的更多相关文章

  1. Redis主从复制、读写分离

    一.Redis的主从复制是什么 主机数据更新后根据配置和策略,自行同步到备机的master/slave机制,Master以写为主,Slave以读为主. 二.Redis的主从复制能干什么 读写分离 容灾 ...

  2. Redis主从复制、多实例、高可用(三)--技术流ken

    Redis主从复制 在开始实现redis的高可用之前,首先来学习一下如何实现redis的主从复制,毕竟高可用也会依赖主从复制的技术. Redis的主从复制,可以实现一个主节点master可以有多个从节 ...

  3. redis学习三,Redis主从复制和哨兵模式

    Redis主从复制 java架构师项目实战,高并发集群分布式,大数据高可用,视频教程 1.Master可以拥有多个slave 2.多个slave可以连接同一个Master外,还可以连接到其他的slav ...

  4. NoSQL初探之人人都爱Redis:(4)Redis主从复制架构初步探索

    一.主从复制架构简介 通过前面几篇的介绍中,我们都是在单机上使用Redis进行相关的实践操作,从本篇起,我们将初步探索一下Redis的集群,而集群中最经典的架构便是主从复制架构.那么,我们首先来了解一 ...

  5. 【转】 NoSQL初探之人人都爱Redis:(4)Redis主从复制架构初步探索

    一.主从复制架构简介 通过前面几篇的介绍中,我们都是在单机上使用Redis进行相关的实践操作,从本篇起,我们将初步探索一下Redis的集群,而集群中最经典的架构便是主从复制架构.那么,我们首先来了解一 ...

  6. redis+Keepalived实现Redis主从复制

    redis+Keepalived实现Redis主从复制: 环境:CentOs6.5Master: 10.10.10.203Slave:   10.10.10.204Virtural IP Addres ...

  7. 深入剖析 redis 主从复制

    主从概述 redis 支持 master-slave(主从)模式,redis server 可以设置为另一个 redis server 的主机(从机),从机定期从主机拿数据.特殊的,一个 从机同样可以 ...

  8. 配置Redis主从复制

    [构建高性能数据库缓存之redis主从复制][http://database.51cto.com/art/201407/444555.htm] 一.什么是redis主从复制? 主从复制,当用户往Mas ...

  9. [转载] 深入剖析 redis 主从复制

    转载自http://www.cnblogs.com/daoluanxiaozi/p/3724299.html 主从概述 redis 支持 master-slave(主从)模式,redis server ...

随机推荐

  1. PHP错误处理函数register_shutdown_function

    当程序在线上运行时,如果遇到BUG,想不在前端输出错误信息,同时能及时邮件通知开发者,register_shutdown_function函数就可以派上用场了. 注册一个会在脚本执行完成或者 exit ...

  2. 机器学习基石笔记:06 Theory of Generalization

    若H的断点为k,即k个数据点不能被H给shatter,那么k+1个数据点也不能被H给shatter,即k+1也是H的断点. 如果给定的样本数N是大于等于k的,易得mH(N)<2N,且随着N的增大 ...

  3. LeetCode--No.014 Longest Common Prefix

    14. Longest Common Prefix Total Accepted: 112204 Total Submissions: 385070 Difficulty: Easy Write a ...

  4. Build step 'Execute shell' marked build as failure解决

    今天jenkins构建时运行脚本报错如下: Build step 'Execute shell' marked build as failure 脚本没问题后来看了下原因是磁盘空间不足导致报错,清除下 ...

  5. .NET Core跨平台微服务学习资源

    一.Asp.net Core基础 微软英文官网:https://docs.microsoft.com/en-us/aspnet/core/?view=aspnetcore-2.1 .NET Core: ...

  6. jenkins内部分享ppt

    持续集成Continuous integration简介(持续集成是什么)    .持续集成源于极限编程(XP),是一种软件实践,软件开发过程中集成步骤是一个漫长并且无法预测的过程.集成过程中可能会爆 ...

  7. Java高并发情况下的锁机制优化

    本文主要讲并行优化的几种方式, 其结构如下: 锁优化 减少锁的持有时间 例如避免给整个方法加锁 1 public synchronized void syncMethod(){ 2 othercode ...

  8. Android_Studio_Checkout_Github_Error"Cannot run program "git.exe":CreateProcess error = 2

    答案都在这了,如果你有下载过git而不是github,那么你可以指定git.exe给android studio 正如这样:

  9. 如何编写package.json配置NodeJS项目的模块声明

    在NodeJS项目中,用package.json文件来声明项目中使用的模块,这样在新的环境部署时,只要在package.json文件所在的目录执行 npm install 命令即可安装所需要的模块. ...

  10. JQuery遍历,find()和each()方法

    find()方法 jquery选择器非常强大,利用css的命名规约,可以更快更方便的找出想要的元素. 比如: $("#id") $("#"+"id&q ...