在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
1)安装Redis本教程使用:Redis-x64-3.2.100 下载地址:https://github.com/MicrosoftArchive/redis/releases 解压安装,并且复制6份,使用3主3从模式,将安装包名称修改为各自的端口名称
2)修改配置找到redis配置文件redis.windows.conf,修改内容如下,注意每个reids都要修改: port 7000 # 端口号,主:7000、7001、7002,从:8000、8001、8002 cluster-enabled yes # 是否启动集群 cluster-config-file nodes-6379.conf # 该节点的配置信息,这里使用 nodes-端口.conf命名方法,服务启动后会在目录生成该文件 cluster-node-timeout 15000 # 连接时间 appendonly yes # 开启AOF模式
在每个redis下新建一个启动脚本,名称为startup.bat,内容如下: title redis-7000 # title命名规则,redis-相对应的端口
redis-server.exe redis.windows.conf
3)安装Rubyredis的集群使用Ruby脚本编写,所以系统需要有Ruby环境 下载地址:https://rubyinstaller.org/downloads/ 直接选择安装地址,下一步安装,本教程安装在redis集群的同级目录下
4)安装Rubygems安装Redis的Ruby驱动redis-xxxx.gem,下载zip格式文件,解压到指定目录下 下载地址:https://rubygems.org/pages/download cmd进入到D:\Redis\redis_cluster\rubygems-3.1.4,即驱动文件夹下,执行ruby setup.rb; 然后cmd进入到D:\Redis\redis_cluster\7000,即任意一个主redis目录下,执行gem install redis
5)下载集群脚本下载地址:https://github.com/beebol/redis-trib.rb 将redis-trib.rb放入到集群目录下,其实可以放到任意目录 执行startup.bat脚本启动所有的redis,cmd进入D:\Redis\redis_cluster,即redis-trib.rb所在目录,执行命令: redis-trib.rb create --replicas 1 127.0.0.1:7000 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:8000 127.0.0.1:8001 127.0.0.1:8002 --replicas 1 表示每个主数据库拥有从数据库个数为1。master节点不能少于3个,所以我们用了6个redis。
注意:如果出现 redis-trib.rb is not longer available! 如果redis版本是5.0以上,则应该使用如下命令: redis-cli --cluster create 127.0.0.1:7000 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:8000 127.0.0.1:8001 127.0.0.1:8002 --cluster-replicas 1 原因是redis5.0以上不再需要redis-trib.rb了,而是使用自带的redis-cli作为创建集群的命令了。
6)集群测试由于每次一个一个启动太浪费时间,所以在D:\Redis\redis_cluster目录下创建一键启动脚本start.bat: @echo off start /d "D:/Redis/redis_cluster/7000" startup.bat start /d "D:/Redis/redis_cluster/7001" startup.bat start /d "D:/Redis/redis_cluster/7002" startup.bat start /d "D:/Redis/redis_cluster/8000" startup.bat start /d "D:/Redis/redis_cluster/8001" startup.bat start /d "D:/Redis/redis_cluster/8002" startup.bat pause
启动所有redis之后,cmd进入7000端口的redis,进入客户端 redis-cli -c -h localhost -p 7000
查看集群的信息,命令:cluster info
进入从redis执行该命令,可以查看从redis相关信息
查看各个节点分配slot,命令cluster nodes
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
测试存储,可以看到test存储到了7001,test1存储到了7000,并且从库也进行了数据存储
至此,Redis集群搭建完成,在项目中进行配置即可使用
|
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论