zl程序教程

您现在的位置是:首页 >  数据库

当前栏目

开发者笔记:Windows下搭建简易单机Redis集群测试环境

2023-03-14 22:20:25 时间

 本文背景

由于业务需要,有些时候我们需要使用Redis缓存,我相信还是有很大一部分小伙伴和我一样,开发环境是在WIndows下(虽然实际生产环境可能是在Linux),有时候我们需要模拟一些环境,比如今天要介绍的Redis环境,这里我们采用集群的方式,由于资源有限,我们可以采用单机搭建集群的方式进行模拟,在开发环境下是已经足够的!

 

开发者笔记:Windows下搭建简易单机Redis集群测试环境

 

Redis版本

笔者采用的是Windows下的5.0.9的64位版本

https://github.com/tporadowski/redis/releases

 

开发者笔记:Windows下搭建简易单机Redis集群测试环境

 

开始

首先你得到上面Github页面下载最新版本的Redis版本,解压到某个文件夹下,笔者目录结构如下:

每一个文件夹除了配置不一样以外,其它的都一样。

 

开发者笔记:Windows下搭建简易单机Redis集群测试环境

 

接下来我们就来说配置:

  • 1、分别打开各个文件下的 redis.windows.conf,修改以下的所有配置(每个文件夹下都要修改)

 

  1. port 6380 //修改为与当前文件夹名字一样的端口号 
  2. appendonly yes //指定是否在每次更新操作后进行日志记录,Redis在默认情况下是异步的把数据写入磁盘,如果不开启,可能会在断电时导致一段时间内的数据丢失。 yes表示:存储方式,aof,将写操作记录保存到日志中 
  3. cluster-enabled yes //开启集群模式 
  4. cluster-config-file nodes-6380.conf  //保存节点配置,自动创建,自动更新(建议命名时加上端口号) 
  5. cluster-node-timeout 15000 //集群超时时间,节点超过这个时间没反应就断定是宕机 
  • 2、在每个文件夹下面新建一个批处理文件start.bat,用于快捷启动

 

  1. title redis-6380; # 
  2. redis-server.exe redis.windows.conf 

注意:在修改配置文件这几项配置时,配置项前面不能有空格

  • 以上操作都完成后,可以尝试启动每一个节点测试一下是否能启动成功

 

开发者笔记:Windows下搭建简易单机Redis集群测试环境

 

  • 编写启动集群的批处理,我们可以在其中一个文件夹下新建一个批处理,内容如下

 

  1. redis-cli  --cluster create --cluster-replicas 1 192.168.3.12:6375 192.168.3.12:6376 192.168.3.12:6377 192.168.3.12:6378 192.168.3.12:6379 192.168.3.12:6380 
  2. pause 

如果你设置了密码,那么命令可以修改如下,pwd是你设置的密码,在redis配置文件中设置密码

 

开发者笔记:Windows下搭建简易单机Redis集群测试环境

 

 

  1. redis-cli -a pwd  --cluster create --cluster-replicas 1 192.168.3.12:6375 192.168.3.12:6376 192.168.3.12:6377 192.168.3.12:6378 192.168.3.12:6379 192.168.3.12:6380 
  2. pause 

启动

打开刚才新建的每一个文件下下的启动批处理,我们分别启动,在启动成功后我们在打开启动集群的批处理,笔者为了方便将每一个启动都放在了外面,方面测试,也就是上面看到的文件夹中的内容,其实要想更方便也可以直接在文件夹外编写一个统一的批处理!如下

 

开发者笔记:Windows下搭建简易单机Redis集群测试环境

 

这个时候我们就可以测试一下是否搭建成功了,笔者刚好有一个可视化界面(

AnotherRedisDesktopManager),就用它吧!

随便选择两个节点连接,看图

 

开发者笔记:Windows下搭建简易单机Redis集群测试环境

 

以下是结果

 

开发者笔记:Windows下搭建简易单机Redis集群测试环境

 

总结

总体来说搭建没什么难度,毕竟只是测试环境,也不需要考虑太多,如果小伙伴们有此需求又懒得折腾,我会将整个环境上传,包括我使用的可视化管理界面!不妨点个关注,感谢!