首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >redis主从架构(实现读写分离)

redis主从架构(实现读写分离)

原创
作者头像
用户10662715
发布2025-04-08 09:58:28
发布2025-04-08 09:58:28
3470
举报

1、复制的工作过程:

(1)启动一slave。

(2)slave会向master发送同步命令,请求主库上的数据,不论从是第一次连接,还是非第一次连接,master此时都会启动一个后台的子进程将数据快照保存在数据文件中,然后把数据文件发送给slave。

(3)slave收到数据文件 以后会保存到本地,而后把文件重载装入内存。

2、特点:

(1)一个Master可以有多个Slave;

(2)支持链式复制(一个slave也可以是其他的slave的slave);

(3)Master以非阻塞方式同步数据至slave(master可以同时处理多个slave的读写请求,salve端在同步数据时也可以使用非阻塞方式);

3、启动复制功能:

(1)使用配置配置(在从库上操作):

# vim /etc/redis.conf #搜索REPLICATION

(2)从库上查看:

127.0.0.1:6379> info

# Replication

role:slave

master_host:192.168.183.138

master_port:6379

master_link_status:up

如果是master_link_status:down。则输入iptanles -F

4、主从相关配置:

slave-serve-stale-data yes //表示当主服务器不可以用时,则无法判定数据是否过期,此时从服务器仍然接收到读请求时,yes表示仍然响应(继续使用过期数据)

slave-read-only yes //启用slave时,该服务器是否为只读

repl-diskless-sync no //是否基于diskless机制进行sync操作,一般情况下如果disk比较慢,网络带宽比较大时,在做复制时,此项可以改为Yes

repl-diskless-sync-delay 5 //指定在slave下同步数据到磁盘的延迟时间,默认为5秒,0表示不延迟

slave-priority 100 //指定slave优先级,如果有多个slave时,那一个slave将优先被同步

# min-slaves-to-write 3 //此项表示在主从复制模式当中,如果给主服务器配置了多个从服务器时,如果在从服务器少于3个时,那么主服务器将拒绝接收写请求,从服务器不能少于该项的指定值,主服务器才能正常接收用户的写请求

# min-slaves-max-lag 10 //表示从服务器与主服务器的时差不能够相差于10秒钟以上,否则写操作将拒绝进行

注意:如果master使用requirepass开启了认证功能,从服务器要使用masterauth <PASSWORD>来连入服务请求使用此密码进行认证;

5.5、验证

主机写入age

从机直接读出

配置成功,

注意:若从机配置完成,可以读到主机信息,但是无法读取内容,则关闭主机防火墙

主从复制的缺点:

例:有一主三从,如果主服务器离线,那么所有写操作操作则无法执行,为了避免此情况发生,redis引入了sentinel(哨兵)机制。下期分享!!

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

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

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1、复制的工作过程:
  • 2、特点:
  • 3、启动复制功能:
  • 4、主从相关配置:
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档