Windows下搭建Redis集群

 Redis集群

 若是部署到多台电脑,就跟普通的集群同样;由于Redis是单线程处理的,多核CPU也只能使用一个核,html

因此部署在同一台电脑上,经过运行多个Redis实例组成集群,而后能提升CPU的利用率。node

 

在Windows系统下搭建Redis集群:

    须要4个部件:git

    Redis、Ruby语言运行环境、Redis的Ruby驱动redis-xxxx.gem、建立Redis集群的工具redis-trib.rbgithub

     安装Redis,并运行3个实例(Redis集群须要至少3个以上节点,低于3个没法建立);redis

     使用redis-trib.rb工具来建立Redis集群,因为该文件是用ruby语言写的,因此须要安装Ruby开发环境,以及驱动redis-xxxx.gemruby

1.下载并安装Redis

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

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

      将下载到的Redis-x64-3.0.504.zip解压便可,为了方便使用,建议放在盘符根目录下,并修改目录名为Redis,如:C:\Redis 或者D:\Redis工具

        经过配置文件来启动3个不一样的Redis实例,因为Redis默认端口为6379,因此这里使用了6380、638一、6382来运行3个Redis实例。ui

      注意:为了不没必要要的错误,配置文件尽可能保存为utf8格式,而且不要包含注释;

              配置文件中如下两种保存日志的方式(保存在文件中、保存到System Log中)请根据需求选择其中一种便可:

  loglevel notice #日志的记录级别,notice是适合生产环境的   logfile "D:/Redis/Logs/redis6380_log.txt" #指定log的保持路径,默认是建立在Redis安装目录下,若是有子目录须要手动建立,如此处的Logs目录
   syslog-enabled yes #是否使用系统日志   
  syslog-ident redis6380 #在系统日志的标识名

这里使用了保存在文件中的方式,因此先在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

       配置内容的解释以下:

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

  将上述配置文件保存到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 Redis6380
D:/Redis/redis-server.exe --service-start --service-name Redis6381
D:/Redis/redis-server.exe --service-start --service-name Redis6382

     执行结果:

       

2.下载并安装ruby

  2.1. 下载路径以下:

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

      下载后,双击安装便可,一样,为了操做方便,也是建议安装在盘符根目录下,如: C:\Ruby22-x64 ,安装时这里选中后两个选项,

  意思是将ruby添加到系统的环境变量中,在cmd命令中能直接使用ruby的命令

    

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

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

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

           

      安装该驱动,命令以下:

gem install --local path_to_gem/filename.gem  

       实际操做以下:

    

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

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

           打开该连接若是没有下载,而是打开一个页面,那么将该页面保存为redis-trib.rb

           建议保存到Redis的目录下。

             

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

                  

                  

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

                      

 

  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 

  执行结果:

     

     当出现提示时,须要手动输入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

 结果以下:

  

相关文章
相关标签/搜索