前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >redis 主从架构(sizeof函数怎么计算)

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

作者头像
全栈程序员站长
发布2022-07-28 17:26:17
3330
发布2022-07-28 17:26:17
举报

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

一.绪论

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.下载安装

代码语言:javascript
复制
wget http://download.redis.io/releases/redis-4.0.11.tar.gz

2.解压缩

代码语言:javascript
复制
tar -zxvf redis-4.0.11.tar.gz

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

代码语言:javascript
复制
make 
make install

4.通过cp复制成如下几个master,slave1,slave2目录

在这里插入图片描述
在这里插入图片描述

5.修改主节点配置文件redis.conf

代码语言:javascript
复制
 protected-mode yes
 slave-serve-stale-data yes
 port 使用默认的6379 

6.修改从节点配置文件

1).从节点一

代码语言:javascript
复制
 protected-mode yes
 slave-serve-stale-data yes
 port 6380
 slaveof 127.0.0.1 6379  主节点的ip和端口

2).从节点二

代码语言:javascript
复制
 protected-mode yes
 slave-serve-stale-data yes
 port 6381
 slaveof 127.0.0.1 6379  主节点的ip和端口

四.启动测试

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

代码语言:javascript
复制
./redis-server ../redis.conf

2.测试

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

代码语言:javascript
复制
redis-cli -p 6379

然后输入info replication

在这里插入图片描述
在这里插入图片描述

3.在主节点上添加一条数据,在从节点上进行查看是否数据进行同步了.

1).添加数据

在这里插入图片描述
在这里插入图片描述

2).从节点获取数据

在这里插入图片描述
在这里插入图片描述

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

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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年4月1,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 Redis
腾讯云数据库 Redis(TencentDB for Redis)是腾讯云打造的兼容 Redis 协议的缓存和存储服务。丰富的数据结构能帮助您完成不同类型的业务场景开发。支持主从热备,提供自动容灾切换、数据备份、故障迁移、实例监控、在线扩容、数据回档等全套的数据库服务。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档