美文网首页
Redis 主从模式

Redis 主从模式

作者: 赵哥窟 | 来源:发表于2022-05-24 10:57 被阅读0次
主从模式架构

默认情况下,主节点可以读写,从节点只能读,禁止写操作。不修改配置让从节点支持写操作是没有意义的,因为首先写入的数据不会同步到其他节点,其次当主节点修改相同的数据时,从节点的数据会被覆盖。主节点挂机后,redis不会向外界提供写服务,因为剩下的从节点不会成为主节点。主节点挂机后,不会影响从节点的读取。主节点启动后,Redis将再次向外界提供写服务。当从节点挂起时,不会影响其他从节点的读取和主节点的读写。重启后,数据将从主节点同步。

image.png

上图中的集群由一个master(6379端口)和两个slave(6380和6381端口)构成,主从模式类似于数据库的读写分离机制,主要有以下特点:

1.主数据库可以进行读和写操作,而从数据库一般只允许读操作,主数据库写入数据后会将数据同步到从数据库,所以保证了无论从哪个数据库读取数据都是一致的。

2.其中一个slave挂了(如上图6380),不影响主数据库的读写操作,如果有不止一个slave则不影响整个集群系统的运行,如果slave全部挂掉则所有读写压力均放到主数据库上。

3.主数据库挂了(如上图6379),不影响从数据的读操作,整个系统则不提供写操作,但是读数据操作不受影响。

主从模式搭建方法

1、cd redis目录 新建一个redis_cluster目录

mkdir redis_cluster

2、把原redis目录下的redis.conf文件复制到 redis_cluster

cp -r redis.conf redis_cluster/

3、修改文件名
cd redis_cluster

mv redis.conf  master_6379.conf

4、在复制一份Slave节点的配置

cp master_6379.conf  slave_6380.conf

5、修改从节点配置

port 6380
slaveof 0.0.0.0 6379 #主节点的ip和端口号
masterauth  #如果主节点设置了密码需要增加
截屏2022-05-24 10.42.44.png

启动主节点

redis-server master_6379.conf

启动从节点

redis-server slave_6380.conf

测试主节点

redis-cli -p 6379
auth 你设置的redis密码
get name
set name redisTest
get name
截屏2022-05-24 10.51.27.png

切换到从节点

redis-cli -p 6380
auth 你设置的redis密码
get name
截屏2022-05-24 10.53.09.png

我们可以看出,我们在 master 上设置了一个键,最后在 slave 获取到了这个键的值,即master 的数据会自动同步到 slave 节点。

现在,我们尝试在 slave 设置键,具体命令如下:


截屏2022-05-24 10.55.32.png

我们看到,此时提示我们不能在 slave 写入数据,即 master 可以读写数据,但 slave 只能读取数据。

相关文章

网友评论

      本文标题:Redis 主从模式

      本文链接:https://www.haomeiwen.com/subject/eprjprtx.html