redis主从复制和redis集群的区别(Redis主从复制)
1.概述
Redis支持集群功能 。为了保证单一节点可用性 ,redis支持主从复制功能 。每个节点有N个复制品(replica) ,其中一个复制品是主(master) ,另外N-1个复制品是从(Slave) ,也就是说Redis支持一主多从 。
一个主可有多个从 ,而一个从又可以看成主 ,它还可以有多个从 。
2.主从优点
增加单一节点的健壮性 ,从而提升整个集群的稳定性 。(Redis中当超过1/2节点不可用时 ,整个集群不可用)
从节点可以对主节点数据备份 ,提升容灾能力 。
读写分离 。在redis主从中,主节点一般用作写(具备读的能力) ,从节点只能读 ,利用这个特性实现读写分离,写用主 ,读用从 。
2.1 一主多从搭建
在已经搭建的单机版redis基础上进行操作
并且关闭redis单机版
进入redis中 cd /usr/local/redis/bin/ ./redis-cli shutdown2.2 新建目录
mkdir /usr/local/replica2.3 复制目录
之前安装的redis单机版中bin目录复制三份 ,分别叫做:master 、slave1 、slave2
cp -r /usr/local/redis/bin /usr/local/replica/master cp -r /usr/local/redis/bin /usr/local/replica/slave1 cp -r /usr/local/redis/bin /usr/local/replica/slave22.4 修改从的配置文件
修改2个从的redis.conf,指定主节点ip和端口 。并修改自身端口号防止和其他redis冲突。
修改slave1节点 vim /usr/local/replica/slave1/redis.conf指定主节点ip和端口(我这里连接是192.168.137.134)
replicaof 192.168.137.134 6379修改slave1节点端口,修改完之后保存退出
port 6380修改slave2节点
vim /usr/local/replica/slave2/redis.conf指定主节点ip和端口(我这里连接是192.168.137.134)
replicaof 192.168.137.134 6379修改slave2节点端口,修改完之后保存退出
port 63812.5 启动三个redis实例
注意:一定要关闭单机的redis ,否则端口冲突 。
cd /usr/local/replica vim startup.sh //创建一个启动文件,方便启动在文件中添加下面内容
cd /usr/local/replica/master/ ./redis-server redis.conf cd /usr/local/replica/slave1 ./redis-server redis.conf cd /usr/local/replica/slave2 ./redis-server redis.conf赋予权限
chmod a+x startup.sh开启
./startup.sh2.6 查看启动状态
ps aux|grep redis可以看到启动了三个redis,这里就不进行图片展示了
2.7 测试
不进行图片展示
思路:由于我们创建的是主从结构,读写分离模式,所以我们进入主节点的命令行界面,进行set数据,然后get数据,查看是否可以查看set进去的数据,退出主节点,进入子节点命令行界面,进行get数据查看数据是否同步,然后进行set数据,进行观察 cd /usr/local/replica/master/ //进入主节点 ./redis-cli //进入主节点命令行界面 set name zhangsan //set 数据 get name //get数据 Ctrl+C /退出 cd /usr/local/replica/slave1 //进入从节点 ./redis-cli -p 6380 //进入从节点命令行界面 需要注意的是后边需要加-p 6380 (6380为从节点端口号) get name //get数据 set name wangwu //set 数据到这里,主从结构就结束了!
创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!