redis 主从架构(sizeof函数怎么计算)

一.绪论   Redis的复制功能是基于内存快照的持久化策略基础上的,也就是说无论你的持久化策略选择的是什么,只要用到了Redis的复制功能,就一定会有内存快照发生。   当Slave启动并连接到Master之后,它将主动发送一个SYNC命令(首先Master会启动一个后台进程,将数据快照保存到文件中[rdb文件]Master会…

大家好,又见面了,我是你们的朋友全栈君。

一.绪论

   Redis的复制功能是基于内存快照的持久化策略基础上的,也就是说无论你的持久化策略选择的是什么,只要用到了Redis的复制功能,就一定会有内存快照发生。
   当Slave启动并连接到Master之后,它将主动发送一个SYNC命令( 首先Master会启动一个后台进程,将数据快照保存到文件中[rdb文件] Master 会给Slave 发送一个Ping命令来判断Slave的存活状态 当存活时 Master会将数据文件发送给Slave 并将所有写命令发送到Slave )。Slave首先会将数据文件保存到本地 之后再将 数据 加载到内存中。当第一次链接 或者是 故障后 重新连接 都会先判断Slave的存活状态 在做全部数据的同步 , 之后只会同步Master的写操作(将命令发送给Slave)

二.优点

   1.在一个Redis集群中,master负责写请求,slave负责读请求,这么做一方面通过将读请求分散到其他机器从而大大减少了master服务器的压力,另一方面slave专注于提供读服务从而提高了响应和读取速度。
   2.在一个Redis集群中,如果master宕机,slave可以介入并取代master的位置,因此对于整个Redis服务来说不至于提供不了服务,这样使得整个Redis服务足够安全。
   3.水平增加Slave机器可以提高性能,Slave 默认是只读的更改,Master 可以 读写(Write and Read) 而 Slave只可以读(read only默认情况)也可以更改 {但是开启后Slave数据不会向上同步}

三.实践

1.下载安装

wget http://download.redis.io/releases/redis-4.0.11.tar.gz

2.解压缩

tar -zxvf redis-4.0.11.tar.gz

3.安装编译,进入到解压缩目录下,执行以下两个命令即可

make 
make install

4.通过cp复制成如下几个master,slave1,slave2目录
在这里插入图片描述
5.修改主节点配置文件redis.conf

 protected-mode yes
 slave-serve-stale-data yes
 port 使用默认的6379 

6.修改从节点配置文件

1).从节点一

 protected-mode yes
 slave-serve-stale-data yes
 port 6380
 slaveof 127.0.0.1 6379  主节点的ip和端口

2).从节点二

 protected-mode yes
 slave-serve-stale-data yes
 port 6381
 slaveof 127.0.0.1 6379  主节点的ip和端口

四.启动测试

1.首先启动主节点,然后启动从节点,命令一样的,进入到src下通过以下命令进行启动

./redis-server ../redis.conf

2.测试

在主节点上通过info replication查看节点信息,连接主节点的客户端,通过以下命令

redis-cli -p 6379

然后输入info replication
在这里插入图片描述
3.在主节点上添加一条数据,在从节点上进行查看是否数据进行同步了.

1).添加数据
在这里插入图片描述
2).从节点获取数据
在这里插入图片描述

以上就完成了redis的主从架构的搭建和数据的同步

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/128488.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • linux docker离线安装部署_下载安装包

    linux docker离线安装部署_下载安装包Docker离线安装部署

    2022年9月26日
    0
  • iic通信协议是什么[通俗易懂]

    iic通信协议是什么[通俗易懂] iic通信协议是什么  IIC协议是二线制,信号线包含SDA和SCL,且信号线是双向的,开路结构,需要通过上拉电阻到VCC,具体的电阻值影响的是信号反应速度和驱动能力。  首先,IIC通信与UART,还有SPI统称为串行接口通信,不过它们之间还是有区别的,如UART的负电平逻辑,还有UART通信不需要时钟,只需要特定的波特率即可,SPI与IIC都可以有一个主机,多个从机的情况,…

    2022年6月9日
    47
  • 什么是Java虚拟机_Java SDK

    什么是Java虚拟机_Java SDKJAVASDK就是JDK,JDK是整个Java的核心,包括了Java运行环境(JavaRuntimeEnvirnment),一堆Java工具和Java基础的类库(rt.jar)。不论什么Java应用服务器实质都是内置了某个版本的JDK。最主流的JDK是Sun公司发布的JDK,除了Sun之外,还有很多公司和组织都开发了自己的JDK,例如IBM公司开发的JDK,BEA公司的Jrocket,还有GN…

    2022年10月8日
    0
  • Mac录屏,同时保留声音[通俗易懂]

    Mac录屏,同时保留声音[通俗易懂]使用自带的QuickTime+Soundflower(免费)就可完美解决录屏声音1.先装Soundflower: Soundflower下载地址 http://pan.baidu.com/s/1jH9r6iM2.打开-音频MIDI设置(可用Mac搜索工具搜索)3.点左下角“+”,再新建一个“多输出设备”,勾选“内建输出”和“Soundflower(2ch)”。…

    2022年4月30日
    82
  • pycharm激活码2021年2月【2021免费激活】[通俗易懂]

    (pycharm激活码2021年2月)最近有小伙伴私信我,问我这边有没有免费的intellijIdea的激活码,然后我将全栈君台教程分享给他了。激活成功之后他一直表示感谢,哈哈~IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html83…

    2022年3月27日
    46
  • 也说周鸿祎[通俗易懂]

    也说周鸿祎[通俗易懂]
 最早听说周鸿祎是在林锐的《大学十年》的那篇妙文里。应该是2001年。第一次看完林锐的回忆,觉得这个家伙是个人物,可他居然对周鸿祎服贴得不得了,可见周的确不是一个一般人。没过多久,有媒体开始关注3721了。那个时候,3721还没到过街老鼠人人喊打的时候,一度攻城掠地,风管无限。记得3721最开始吸引眼球的就是和Realname的一场口水大战…

    2022年7月26日
    5

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号