window下发布redis单机伪集群(redis版本5以上)

目录

一、下载windows版本的redis

二、解压redis到一个目录下

三、创建集群节点目录

四、注册windows服务

五、创建集群

六、测试

七、总结和拓展

一、下载windows版本的redis

 百度网盘:https://pan.baidu.com/s/19LVXqtp8lHNRqeYQkc8CKA 
提取码:v5oj 

win_x64 当前版本是5.0.10

二、解压redis到一个目录下

以图为例,解压,目录自选

三、创建集群节点目录

创建一个clsuter(注:这个单词写错了,名称自取)目录,在目录下创建出6个节点的文件夹,将redis.windows-service.conf拷贝到对应的文件夹下,如图:

修改redis.windows-service.conf文件,在port 6379 这行开始,加入以下内容。

#屏蔽当前端口
#port 6379

#开启7001端口
port 7001 


cluster-enabled yes 
cluster-config-file nodes7001.conf 
cluster-node-timeout 5000 
appendonly yes 

port 对应6个文件夹的端口名称,nodes7001.conf 也是同理

至此,准备工作已完全就绪,目前redis5是不需要ruby环境的,所以不需要安装rubyinstall和rubygems,此坑已经填平。

四、注册windows服务

用cmd命令回到D:\reidsClsuter\redis目录,在cmd中执行以下命令,注册redis不同端口下的实例

#注册服务
redis-server --service-install redis.windows-service.conf --loglevel verbose

redis-server --service-install D:\reidsClsuter\redis\clsuter\7001\redis.windows-service.conf --service-name redis7001

redis-server --service-install D:\reidsClsuter\redis\clsuter\7002\redis.windows-service.conf --service-name redis7002

redis-server --service-install D:\reidsClsuter\redis\clsuter\7003\redis.windows-service.conf --service-name redis7003

redis-server --service-install D:\reidsClsuter\redis\clsuter\7004\redis.windows-service.conf --service-name redis7004

redis-server --service-install D:\reidsClsuter\redis\clsuter\7005\redis.windows-service.conf --service-name redis7005

redis-server --service-install D:\reidsClsuter\redis\clsuter\7006\redis.windows-service.conf --service-name redis7006

通过任务管理器,可以看到redis服务已经全部注册成功,并启动所有实例。如图:

五、创建集群

还是用cmd管理台回到D:\reidsClsuter\redis目录,执行如下命令

#创建集群
redis-cli --cluster create 192.168.1.80:7001 192.168.1.80:7002 192.168.1.80:7003 192.168.1.80:7004 192.168.1.80:7005 192.168.1.80:7006 --cluster-replicas 1

#--cluster-replicas 1 表示每个主节点有一个从节点

执行后会输出如下信息

如果所有slot都被分配成功了,则说明集群已经部署完成。

六、测试

测试一:hello world(部署成功了,当然离不开最开始的hello world)

通过某一台登录,登录命令为:

#登录集群
redis-cli -c -p 7001 -h 192.168.1.80

测试二:查询集群情况

#查看集群信息
cluster nodes

如图可以看到当前7001~7003是主节点,7004~7006为slave节点

测试三:

1.在某一台redis实例上存储数据是否会存储到别的实例上

2.未存储数据的redis实例是否能读取到已经存储数据的redis是咧

图一

图二

如图一,在7002上存储一个key 后会存入7003的实例中。

如图二,在7004上读取到7003上的数据。

到这里似乎还有个问题,为什么数据不会去从节点读呢?(待验证)

测试四:

1.测试主节点下线,从节点是否能立马补位

2.是否遵循主从复制

我们将节点7003下线,通过windows服务停止,来测试,是否会有其他从节点切换成主节点

实验结果如下:

当7003宕机之后,7004跃升为主节点,再通过获取hello world的数据测试。结果如下:

可以看到数据已经在7003宕机后,写入了7004。

七、总结和拓展

总结:

      一、单机下可以实现伪集群部署。

      二、单机下可以实现主从自动切换。

      三、redis5版本可以通过redis-cli来创建集群。

      四、在部署redis集群后,redis已经封装了如何存储到哪个节点的hash算法。

拓展:(以一台16g内存的笔记本为准)

      一、redis实例是否可以超出笔记本内存大小来实现交叉分配?

      二、redis实例如果申请内存交叉了,会不会共享数据?

      三、redis在单机下的单台部署并发和伪集群部署并发是一样的吗?

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

imepl

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值