配置redis集群

本文详细介绍了如何下载和配置Redis 3.0以上的集群版本,包括设置端口、启用集群、配置文件、编写启动脚本,以及Ruby环境的安装和Redis gem的安装步骤。最后展示了如何使用redis-trib创建和测试集群,并在实际应用中更新配置文件以连接到集群。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

配置redis集群

 

一:下载redis

redis3.0以上开始支持集群,自行下载

http://download.redis.io/releases/

 

二:配置redis

新建目录

D:\soft\Redis\Redis_colony

以端口号命名.因为集群要求三个主,三个从,所以需要六个.

不能自行设置,启动后会自行分配.(也许可以,还没研究到那步)

 

右键编辑 redis.windows.conf

修改以下参数

port 6379 --这个是端口号,修改对应的

cluster-enabled yes --启用集群,yes

cluster-config-file nodes-6379.conf --是为该节点的配置信息,这里使用 nodes-端口.conf

命名方法。服务启动后会在目录生成该文件。

cluster-node-timeout 15000 --调整为15000,那么在创建集群的时候,不会超时。

appendonly yes --持久化记录(以日志记录,即使删除了数据,也可以通过这个

还原),默认是no

参考:https://blog.youkuaiyun.com/weixin_39040059/article/details/79120444

 

编写一个 bat 来启动 redis,在每个节点目录下建立 startup.bat,内容如下:

title redis_8081

redis-server.exe redis.windows.conf

 

三: Ruby安装

下载地址: https://rubyinstaller.org/downloads/

 

教程用的是这个

 

有说选前两个.这里我三个都选了

 

四. 安装Redis的Ruby驱动redis-xx.gem

 

下载地址 https://rubygems.org/pages/download

下载后解压,当前目录切换到解压目录中,如 D:\tools\rubygems 然后在命令行(win+r)执行

ruby setup.rb

我好像就到这步.下面这些没执行:

 

====================================================

然后GEM 安装 Redis :切换到redis安装目录,需要在命令行中,执行

gem install redis

 

***这时可能或出现以下错误(划重点):***

1.连接超时(TimeOut):

解决办法如下 命令窗口输入:

gem sources --add https://gems.ruby-china.org/ --remove https://rubygems.org/

gem sources -l

*** CURRENT SOURCES ***

 

https://gems.ruby-china.org

# 请确保只有 gems.ruby-china.org

gem install redis

2.若设置 source时出现https://gems.ruby-china.org/ is not a url:

可以去配置文件修改,位置在 c:/User/用户名/.gemrc

 

打开文件修改source,如下:

 

保存,然后 cmd 窗口输入 gem sources -l,效果如下:

 

 

卧槽 什么 还是gem install redis 失败????

手动下载,地址:https://rubygems.global.ssl.fastly.net/gems/redis-3.2.2.gem

命令窗口到这个文件的下载目录,执行:

gem install -l ./redis-3.2.2.gem

ok gem终于安装上了redis(滑稽)

==================================================

五.安装集群脚本redis-trib

下载地址 https://raw.githubusercontent.com/antirez/redis/unstable/src/redis-trib.rb

打开该链接如果没有下载,而是打开一个页面,那么将该页面ctrl+A全选,ctrl+c ,保存为redis-trib.rb,建议保存到一个Redis的目录下。

这个地址时好时坏,直接去另外一个

https://github.com/beebol/redis-trib.rb

或直接下载

https://github.com/beebol/redis-trib.rb/blob/master/redis-trib.rb

 

 

六.启动每个节点,执行集群构建脚本

双击每个节点下的 startup.bat, 到redis文件夹中打开命令窗口(比如进入6379文件夹),输入以下指令:

redis-trib.rb create --replicas 1 127.0.0.1:6379 127.0.0.1:6380 127.0.0.1:6381 127.0.0.1:6382 127.0.0.1:6383 127.0.0.1:6384

上述命令 --replicas 1 表示每个主节点拥有从节点个数为1。

master节点(主节点)不能少于3个,所以我们用了6个redis(3主+3从)

 

在出现 Can I set the above configuration? (type ‘yes’ to accept): 请确定并输入 yes 

 

七.测试集群

控制窗口进入到redis文件下,比如我们进入6380文件下,输入:

redis-cli -c -h 127.0.0.1 -p 6380

 

(命令 redis-cli –c –h ”地址” –p “端口号” ; c 表示集群),效果如下:

 

然后输入cluster info,如图:

 

查看集群具体节点信息,输入cluster nodes :

 

 

集群成功!

输入一条数据来测试,如下图在主节点6380中set了一个字符串:

 

输入 info replication,看6380的主从关系,如图 6380的从节点为6384:

 

去6384看keys:

 

ok,主从同步,集群完成

 

参考地址:https://blog.youkuaiyun.com/woheniccc/article/details/79611050

=====================================================

接着程序中改动:

appsettings.json

"RedisCache": {

"ConnectionString": "127.0.0.1:6379,127.0.0.1:6380,127.0.0.1:6381,127.0.0.1:6382,127.0.0.1:6383,127.0.0.1:6384",

"DatabaseId": "-1"

},

DatabaseId一定要设置为-1,因为集群默认走0,而我之前是设置为6,导致一直取不到.

 

==========================================================

集群还有参考资料

https://www.cnblogs.com/kellynic/p/9803314.html#top

听说这个也是有人用

 

https://blog.youkuaiyun.com/qin_yu_2010/article/details/84262742

这个也有介绍其他种的

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值