当前位置: 首页 > news >正文

Windows下搭建Redis集群

Windows下搭建Redis集群

 Redis集群:

 如果部署到多台电脑,就跟普通的集群一样;因为Redis是单线程处理的,多核CPU也只能使用一个核,

所以部署在同一台电脑上,通过运行多个Redis实例,并将这些实例组成集群,就可以提高CPU的利用率。

在Windows系统下搭建Redis集群:

需要4个部件:

Redis、Ruby语言运行环境、Redis的Ruby驱动redis-3.2.2.gem、创建Redis集群的工具redis-trib.rb

安装Redis,并运行3个实例(Redis集群需要至少3个以上节点,低于3个无法创建);

使用redis-trib.rb工具来创建Redis集群,由于该文件是用ruby语言写的,所以需要安装Ruby开发环境,以及驱动redis-3.2.2.gem

1.下载并安装Redis

其GitHub路径如下:https://github.com/MSOpenTech/redis/releases/

Redis提供msi和zip格式的下载文件,这里下载zip格式 3.0.504版本

将下载到的Redis-x64-3.0.504.zip解压即可,为了方便使用,将目录名改为Redis,并放在D盘根目录下(D:/Redis),

通过配置文件来启动3个不同的Redis实例,由于Redis默认端口为6379,所以这里使用了6380、6381、6382来运行3个Redis实例。

注意:为了避免不必要的错误,请将配置文件保存为utf8格式,并且不要包含注释;  

为了记录Redis的日志,所以需要在Redis目录D:/Redis下新建 Logs文件夹

redis.6380.conf 内容如下:

port 6380      
loglevel notice    
logfile "D:/Redis/Logs/redis6380_log.txt"       
appendonly yes
appendfilename "appendonly.6380.aof"   
cluster-enabled yes                                    
cluster-config-file nodes.6380.conf
cluster-node-timeout 15000
cluster-slave-validity-factor 10
cluster-migration-barrier 1
cluster-require-full-coverage yes

redis.6381.conf 内容如下:

port 6381       
loglevel notice   
logfile "D:/Redis/Logs/redis6381_log.txt"       
appendonly yes
appendfilename "appendonly.6381.aof"    
cluster-enabled yes                                    
cluster-config-file nodes.6381.conf
cluster-node-timeout 15000
cluster-slave-validity-factor 10
cluster-migration-barrier 1
cluster-require-full-coverage yes

redis.6382.conf 内容如下:

port 6382       
loglevel notice    
logfile "D:/Redis/Logs/redis6382_log.txt"         
appendonly yes
appendfilename "appendonly.6382.aof"    
cluster-enabled yes                                    
cluster-config-file nodes.6382.conf
cluster-node-timeout 15000
cluster-slave-validity-factor 10
cluster-migration-barrier 1
cluster-require-full-coverage yes

配置内容的解释如下:

 port 6380               #端口号
 loglevel notice         #日志的记录级别,notice是适合生产环境的
 logfile "D:/Redis/Logs/redis6380_log.txt"      #指定log的保持路径,默认是创建在Redis安装目录下,如果有子目录需要手动创建,如此处的Logs目录
 syslog-enabled yes                       #是否使用系统日志
 syslog-ident redis6380                   #在系统日志的标识名
 appendonly yes                           #数据的保存为aof格式
 appendfilename "appendonly.6380.aof"     #数据保存文件
 cluster-enabled yes                      #是否开启集群
 cluster-config-file nodes.6380.conf
 cluster-node-timeout 15000
 cluster-slave-validity-factor 10
 cluster-migration-barrier 1
 cluster-require-full-coverage yes

将上述配置文件保存到D:/Redis目录下,并使用这些配置文件安装3个redis服务,命令如下:

注意:redis.6380.conf等配置文件要使用完整路径,避免重启Redis集群出现问题,此处的安装目录为 D:/Redis

D:/Redis/redis-server.exe --service-install D:/Redis/redis.6380.conf --service-name redis6380
D:/Redis/redis-server.exe --service-install D:/Redis/redis.6381.conf --service-name redis6381
D:/Redis/redis-server.exe --service-install D:/Redis/redis.6382.conf --service-name redis6382

启动这3个服务,命令如下:

D:/Redis/redis-server.exe --service-start --service-name Redis6382
D:/Redis/redis-server.exe --service-start --service-name Redis6381
D:/Redis/redis-server.exe --service-start --service-name Redis6380

执行结果:

2.下载并安装ruby

  2.1. 下载路径如下:

http://dl.bintray.com/oneclick/rubyinstaller/rubyinstaller-2.2.4-x64.exe

下载后,双击安装即可,为了操作方便,安装到 C盘根目录下(C:\Ruby22-x64),

安装时选中以下两个选项:

Add ruby executables to your PATH

Associate .rb and .rbw files with this Ruby installation

意思是将ruby添加到系统的环境变量中,在cmd命令中能直接使用ruby的命令;并主动关联.rb和.rbw格式的文件。

   2.2.下载ruby环境下Redis的驱动,考虑到兼容性,这里下载的是3.2.2版本

https://rubygems.org/gems/redis/versions/3.2.2

注意:下载在页面右下角相关连接一项中

 

安装该驱动,命令如下:

C:\Ruby22-x64\bin\gem install --local c:\Ruby22-x64\redis-3.2.2.gem

      2.3.下载Redis官方提供的创建Redis集群的ruby脚本文件redis-trib.rb,路径如下:

https://raw.githubusercontent.com/MSOpenTech/redis/3.0/src/redis-trib.rb

打开该链接如果没有下载,而是打开一个页面,那么将该页面保存为redis-trib.rb   (.rb为后缀名,是ruby文件的保存格式),并保存到D:/Redis目录下。

  3.创建Redis集群

CMD下切换到Redis目录,使用redis-trib.rb来创建Redis集群:

redis-trib.rb create --replicas 0 127.0.0.1:6380 127.0.0.1:6381 127.0.0.1:6382

注意:因为redis-trib.rb是ruby代码,必须用ruby来打开,若redis-trib.rb无法识别,需要手动选择该文件的打开方式:

  **选择ruby为的打开方式后,redis-trib.rb的logo都会发生改变,如下图:

 

执行结果:

当出现提示时,需要手动输入yes,输入后,当出现以下内容,说明已经创建了Redis集群

检验是否真的创建成功,输入以下命令:

redis-trib.rb check 127.0.0.1:6380

出现以下信息,说明创建的Redis集群是没问题的

使用Redis客户端Redis-cli.exe来查看数据记录数,以及集群相关信息

D:/Redis/redis-cli.exe -c -p 6380

-c 表示 cluster

-p 表示 port 端口号

输入dbsize查询 记录总数

dbsize

或者一次输入完整命令:

D:/Redis/redis-cli.exe -c -p 6380 dbsize

结果如下:

输入cluster info可以从客户端的查看集群的信息:

cluster info

结果如下:

转载于:https://www.cnblogs.com/ryanzheng/p/8075221.html

相关文章:

  • iOS系列开发-版本控制工具Git的使用
  • workSpace中多个工程方法互调
  • PXE网络装机服务器
  • 简单升级了一下可着色的ListBox控件
  • jsoup入门
  • ospf和rip和静态路由三者的区别?各能实现什么功能?
  • 【译】ASP.NET Identity Core 从零开始
  • 工作中用到的linux、SQL、Python语句
  • php 几个算法
  • 2018年武汉大学653数学分析
  • iOS 中表格按时间戳分组排序
  • Java设计模式23种(搞笑版) (转)
  • Mac node js环境的安装与测试
  • Java并发编程实践读书笔记(2)多线程基础组件
  • HDFS High Availability Using the Quorum Journal Manager
  • “Material Design”设计规范在 ComponentOne For WinForm 的全新尝试!
  • 【EOS】Cleos基础
  • ABAP的include关键字,Java的import, C的include和C4C ABSL 的import比较
  • CentOS7简单部署NFS
  • CNN 在图像分割中的简史:从 R-CNN 到 Mask R-CNN
  • css系列之关于字体的事
  • js写一个简单的选项卡
  • Mocha测试初探
  • spring boot 整合mybatis 无法输出sql的问题
  • TypeScript实现数据结构(一)栈,队列,链表
  • use Google search engine
  • vue 配置sass、scss全局变量
  • vue-loader 源码解析系列之 selector
  • 持续集成与持续部署宝典Part 2:创建持续集成流水线
  • 个人博客开发系列:评论功能之GitHub账号OAuth授权
  • 力扣(LeetCode)22
  • 面试遇到的一些题
  • 通过调用文摘列表API获取文摘
  • ​​​​​​​ubuntu16.04 fastreid训练过程
  • # Java NIO(一)FileChannel
  • $con= MySQL有关填空题_2015年计算机二级考试《MySQL》提高练习题(10)
  • (20050108)又读《平凡的世界》
  • (附源码)springboot宠物医疗服务网站 毕业设计688413
  • (十)DDRC架构组成、效率Efficiency及功能实现
  • (四)Controller接口控制器详解(三)
  • (一)80c52学习之旅-起始篇
  • (一)u-boot-nand.bin的下载
  • (原創) 系統分析和系統設計有什麼差別? (OO)
  • (转)Java socket中关闭IO流后,发生什么事?(以关闭输出流为例) .
  • (转)利用PHP的debug_backtrace函数,实现PHP文件权限管理、动态加载 【反射】...
  • .net core webapi Startup 注入ConfigurePrimaryHttpMessageHandler
  • .NET8.0 AOT 经验分享 FreeSql/FreeRedis/FreeScheduler 均已通过测试
  • .net开发时的诡异问题,button的onclick事件无效
  • .pyc文件还原.py文件_Python什么情况下会生成pyc文件?
  • /var/spool/postfix/maildrop 下有大量文件
  • @Autowired多个相同类型bean装配问题
  • [20190416]完善shared latch测试脚本2.txt
  • [AHOI2009]中国象棋 DP,递推,组合数
  • [AIGC] 使用Curl进行网络请求的常见用法
  • [C# 开发技巧]实现属于自己的截图工具