redis集群简介

集群的概念

    所谓的集群,就是通过添加服务器的数量,提供相同的服务,从而让服务器达到一个稳定、高效的状态。

使用redis集群的必要性

    问题:我们已经部署好了redis,并且能启动一个redis,实现数据的读写,为什么还要学习redis集群?

答:(1)单个redis存在不稳定性。当redis服务宕机了,就没有可用的服务了。

(2)单个redis的读写能力是有限的。

redis集群是为了强化redis的读写能力。

 

redis主从复制

概念

        主从复制模型中,有多个redis节点。

        其中,有且仅有一个为主节点Master。从节点Slave可以有多个。

 

只要网络连接正常,Master会一直将自己的数据更新同步给Slaves,保持主从同步。

特点

(1)主节点Master可读、可写.

(2)从节点Slave只读。(read-only)

 

因此,主从模型可以1提高读的能力,在一定程度上缓解了写的能力。因为能写仍然只有Master节点一个,可以讲读的操作全部移交到从节点上,变相提高了写能力。

基于配置实现

2.3.1、需求

一个主节点,端口为6380

两个从节点,端口分别为6381、6382

 

2.3.2、步骤

(1)在/usr/local目录下,创建一个/redis/master-slave目录

[root@node0719 local]# mkdir  -p  redis/master-slave

 

(2)在master-slave目录下,创建三个子目录6380、6381、6382

[root@node0719 master-slave]# mkdir 6380 6381 6382

 

(3)依次拷贝redis解压目录下的redis.conf配置文件,到这三个子目录中。

[root@node0719 master-slave]# cp /root/redis-3.2.9/redis.conf ./6380/

[root@node0719 master-slave]# cp /root/redis-3.2.9/redis.conf ./6381/

[root@node0719 master-slave]# cp /root/redis-3.2.9/redis.conf ./6382/

 

(4)进入6380目录,修改redis.conf,将port端口修改成6380即可。

[root@node0719 master-slave]# cd ./6380

[root@node0719 6380]# vim redis.conf

 

(5)进入6381目录,修改redis.conf,将port端口改成6381,同时指定开启主从复制。

[root@node0719 6380]# cd ../6381

[root@node0719 6381]# vim redis.conf

 

(6)进入6382目录,修改redis.conf,将port端口改成6382,同时指定开启主从复制。

[root@node0719 6380]# cd ../6382

[root@node0719 6381]# vim redis.conf

 

测试 

打开三个xshell窗口,在每一个窗口中,启动一个redis节点。查看日志输出。(不要改成后台模式启动,看不到日志,不直观)

[root@node0719 master-slave]# cd 6380 && redis-server ./redis.conf

 

[root@node0719 master-slave]# cd 6381 && redis-server ./redis.conf

 

[root@node0719 master-slave]# cd 6382 && redis-server ./redis.conf

 

 

 

(2)另外再打开三个xshell窗口,在每一个窗口中,登陆一个redis节点

[root@node0719 ~]# redis-cli -p 6380

 

[root@node0719 ~]# redis-cli -p 6381

 

[root@node0719 ~]# redis-cli -p 6382

 

(3)在主节点6380上,进行读写操作,操作成功

[root@node0719 ~]# redis-cli -p 6380

127.0.0.1:6380> set user:name zs

OK

127.0.0.1:6380> get user:name

"zs"

127.0.0.1:6380>

 

(4)在从节点6381上

读操作执行成功,并且成功从6380上同步了数据

[root@node0719 ~]# redis-cli -p 6381

127.0.0.1:6381> get user:name

"zs"

 

写操作执行失败。(从节点,只能读,不能写)

127.0.0.1:6381> set user:age 18

(error) READONLY You can't write against a read only slave.

转载于:https://my.oschina.net/u/4118575/blog/3040060

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值