一、下载windows版本的Redisnode
官网只提供linux版本的下载linux
官网下载地址:http://redis.io/downloadgit
github下载地址:https://github.com/MSOpenTech/redis/tagsgithub
解压以后,拷贝到自定义的Redis目录下,例如D:\Redis\Redisredis
打开cmd,切换到Redis目录下,执行算法
redis-server redis.windows.conf
再从新打开一个cmd窗口,链接Redis执行数据库
redis-cli.exe -h 127.0.0.1 -p 6379
redis的集群使用 ruby脚本编写,因此系统须要有 Ruby 环境 ,下载地址: http://dl.bintray.com/oneclick/rubyinstaller/windows
程序: rubyinstaller-2.3.3-x64.exeruby
安装时3个选项都勾选app
注意:系统变量里面 path 须要配置 ruby的安装目录bin
PATHEXT 须要配置 .RB;.RBW
要让集群正常运做至少须要三个主节点,不过在刚开始试用集群功能时, 强烈建议使用六个节点: 其中三个为主节点, 而其他三个则是各个主节点的从节点。
主节点崩溃,从节点的Redis就会提高为主节点,代替原来的主节点工做,崩溃的主Redis回复工做后,会成为从节点
1). 建立Redis集群目录
在redis安装的根目录下建立6个以端口命名的文件夹
将安装的redis文件夹中的redis.windows.conf以及redis-server,分别拷贝到新建的六个文件夹中
2). 更改配置
将六个文件夹下的redis.windows.conf文件中如下属性进行修改:
port 9000 cluster-enabled yes cluster-config-file nodes.conf cluster-node-timeout 15000 appendonly yes
3). 启动6个redis服务
进入每一个端口命名的文件夹下启动服务
启动命令:redis-server.exe redis.windows.conf
或者用下面的命令建立一个bat文件启动
title redis-9000 redis-server.exe redis.windows.conf
其余几个目录同上(端口对应各自的端口)
而后把把这几个节点都启动起来
4. 安装Redis的Ruby驱动redis-xxxx.gem
下载地址 https://rubygems.org/pages/download, 下载后解压,当前目录切换到解压目录中,如 D:\Program Files\redis\rubygems-2.6.12 而后在命令行执行 ruby setup.rb。
而后GEM 安装 Redis :切换到redis安装目录,须要在命令行中,执行 gem install redis
5 安装集群脚本redis-trib
下载地址 https://raw.githubusercontent.com/antirez/redis/unstable/src/redis-trib.rb
打开该连接若是没有下载,而是打开一个页面,那么将该页面保存为redis-trib.rb,建议保存到一个Redis的目录下,例如放到Redis目录下。
集群的命令为
ruby redis-trib.rb create --replicas 1 127.0.0.1:9000 127.0.0.1:9001 127.0.0.1:9002 127.0.0.1:9003 127.0.0.1:9004 127.0.0.1:9005
--replicas 1 表示每一个主数据库拥有从数据库个数为1。master节点不能少于3个,因此咱们用了6个redis
6. 链接集群进行测试
链接集群的指令:
方式1:
redis-cli.exe -h 127.0.0.1 -c -p 9000
方式2:
redis-cli.exe -c -p 9000
执行set 命令咱们能看到集群起效,把值存到 9001 节点上了
Redis集群数据分配策略:
采用一种叫作哈希槽 (hash slot)的方式来分配数据,redis cluster 默认分配了 16384 个slot,当咱们set一个key 时,会用CRC16算法来取模获得所属的slot,而后将这个key分到哈希槽区间的节点上,具体算法就是:CRC16(key) % 16384
注意的是:必需要3个之后的主节点,不然在建立集群时会失败,三个节点分别承担的slot 区间是:
节点A覆盖0-5460; 节点B覆盖5461-10922; 节点C覆盖10923-16383.
因此上图中按照redis cluster的哈希槽算法:CRC16(‘name’)%16384
被分配到了7001端口的redis服务上。
至此,Redis Cluster在Windows上的配置就完成了