redis代理-predixy

1.下载包
可以从github上找到predixy项目的release版本,找到人家编译好的项目,下载下来。
在这里插入图片描述

在这里插入图片描述
2. 执行tar xf 命令,解压压缩包
在这里插入图片描述
bin里边就一个可执行程序,大小为14M。
在这里插入图片描述
3.进入conf目录
编辑predixy.conf,打开7617的端口,include sentinel配置文件。(sentinel和cluster只能include一个,此处演示sentinel)
在这里插入图片描述
4.编辑sentinel.conf
复制配置文件:从要复制的起始位置,按住shift+冒号,开启末行模式,再输入 .,$y 回车,复制当前内容。

在这里插入图片描述
取消复制内容的#号注释符号。
shift+冒号,开启末行模式。 :.,$s/#// 回车。(s查找,查找#号,并替换成空)
在这里插入图片描述
在这里插入图片描述
5.启动哨兵
修改哨兵配置文件,26379哨兵监控 36379 和46379两台master,其他两台哨兵类似。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
分别打开三个窗口,启动3台哨兵:
在这里插入图片描述
6.搭建两套主从的redis集群
先创建目录,然后在各自目录下创建redis实例。
在这里插入图片描述
启动第一个master实例
在这里插入图片描述
启动第一个master的slave实例
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
7.启动predixy代理
启动代理后,predixy配置文件中引入了sentinel.conf 配置文件,代理就可以知道有哪些哨兵,有哪些 master 和 slave。
在这里插入图片描述
8.重新打开一个窗口,连接代理
无论后面的结构多复杂,客户端只访问代理即可。
在这里插入图片描述
9.连接代理后,向redis中存值。
在这里插入图片描述
10.验证存入redis的值都被代理存到哪台redis上了呢?
首先手动连接36379,发现只有k1.
在这里插入图片描述
手动连接46379,发现里边有k2.
在这里插入图片描述
11.测试带有同样标签的key会被如何存储。
发现带有同样标签的key都被存储到了46379这台redis服务上。
在这里插入图片描述
在这里插入图片描述
12.测试watch
目前k1 和 k2 都被存储在同一台redis服务器上,但是由于有两套主从,依然不支持Watch,不支持事务。
在这里插入图片描述
13.此时,去掉一套主从,只保留一套主从,再次测试事务。
修改 sentinel.conf 配置文件,去掉xxoo的group,之后所有的数据都只会向ooxx这一个主从里边写入了。。
在这里插入图片描述
重新启动代理。
在这里插入图片描述
此时只有一套主从,set值时肯定只会存储在一个server中去。此时支持watch,支持事务。
在这里插入图片描述
而此时,如果 36379 这台master 挂掉,由于有哨兵的监控和自动故障转移,会自动将slave 设置成新的 master。对于客户端连接代理访问数据来说,没有感觉。因此,代理就是降低了后端的复杂度。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值