搜索
首页数据库RedisWindows下搭建redis集群示例

Windows下搭建redis集群示例

Dec 03, 2019 pm 05:06 PM
rediswindows

Windows下搭建redis集群示例

Redis集群:

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

所以部署在同一台电脑上,通过运行多个Redis实例组成集群,然后能提高CPU的利用率。

推荐:redis视频教程

在Windows系统下搭建Redis集群:

需要4个部件:

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

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

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

1.下载并安装Redis

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

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

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

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

注意:为了避免不必要的错误,配置文件尽量保存为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

 配置内容的解释如下:

port 6380       #端口号
loglevel notice    #日志的记录级别,notice是适合生产环境的
logfile "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

将上述配置文件保存到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

执行结果:

1.jpg

2.下载并安装ruby

2.1. 下载路径如下:

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

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

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

2.jpg

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

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

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

3.jpg安装该驱动,命令如下:

gem install --local path_to_gem/filename.gem

实际操作如下:

5.jpg

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无法识别,需要手动选择该文件的打开方式:

6.JPG

7.jpg

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

8.jpg

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

执行结果:

9.jpg

10.jpg

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

redis-trib.rb check 127.0.0.1:6380

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

11.jpg

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

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

-c 表示 cluster

-p 表示 port 端口号

12.jpg

输入dbsize查询 记录总数

dbsize

或者一次输入完整命令:

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

结果如下:

13.jpg

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

cluster info

结果如下:

14.jpg

更多redis知识请关注redis使用教程栏目。

以上是Windows下搭建redis集群示例的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文转载于:博客园。如有侵权,请联系admin@php.cn删除
redis数据怎么清空redis数据怎么清空Apr 10, 2025 pm 10:06 PM

如何清空 Redis 数据:使用 FLUSHALL 命令清除所有键值。使用 FLUSHDB 命令清除当前选定数据库的键值。使用 SELECT 切换数据库,再使用 FLUSHDB 清除多个数据库。使用 DEL 命令删除特定键。使用 redis-cli 工具清空数据。

redis过期策略怎么设置redis过期策略怎么设置Apr 10, 2025 pm 10:03 PM

Redis数据过期策略有两种:定期删除:定期扫描删除过期键,可通过 expired-time-cap-remove-count、expired-time-cap-remove-delay 参数设置。惰性删除:仅在读取或写入键时检查删除过期键,可通过 lazyfree-lazy-eviction、lazyfree-lazy-expire、lazyfree-lazy-user-del 参数设置。

redis日志怎么设置redis日志怎么设置Apr 10, 2025 pm 10:00 PM

Redis 提供多种日志选项,允许配置日志级别和输出位置:日志级别:debug、verbose、notice、warning 和 error,在 loglevel 参数中设置。日志输出位置:标准输出、文件、系统日志,分别通过 logfile、syslog-enabled 和 syslog-ident 参数设置。

redis分布式锁怎么释放redis分布式锁怎么释放Apr 10, 2025 pm 09:57 PM

要释放 Redis 分布式锁,请按以下步骤操作:1. 获取锁的当前持有者的标识符;2. 检查是否为当前持有者;3. 删除锁。其他注意事项,如在操作资源前释放锁,以及使用事务提高安全性也应考虑。

redis击穿怎么处理redis击穿怎么处理Apr 10, 2025 pm 09:54 PM

Redis 击穿的处理方法:使用分布式锁加锁,确保仅一个请求创建 key;启用缓存穿透策略,返回默认值或错误消息;异步创建 key,避免影响主线程性能;预加载热点 key;优化 Redis 配置,增强稳定性;使用 Redis 集群,降低击穿概率。

redis有序集合怎么实现redis有序集合怎么实现Apr 10, 2025 pm 09:51 PM

Redis有序集合(ZSet)通过哈希表和跳跃表实现,哈希表存储元素和分数映射,而跳跃表按分数排序元素并维护快速导航的指针,支持多种操作,包括添加、删除、更新分数、查找元素和获取排名,优点包括快速排序和查找操作、支持多分数排序和高效内存管理。

redis哨兵模式怎么用redis哨兵模式怎么用Apr 10, 2025 pm 09:48 PM

Redis 哨兵模式是一种高可用性解决方案,通过部署哨兵服务器来实现故障检测和自动故障转移。使用步骤包括:部署哨兵服务器、配置 Redis 实例、启动哨兵服务器。哨兵模式工作原理:检测主节点故障后,选举新主节点,配置新主节点,完成故障转移。考虑因素有半数以上哨兵支持、从节点可用性和数据一致性。哨兵模式的优点包括自动故障检测和高可用性,缺点包括部署复杂和需要额外资源。

怎么查看redis是否启动怎么查看redis是否启动Apr 10, 2025 pm 09:45 PM

检查 Redis 是否已启动的最简单方法是使用 redis-cli 命令行工具,命令为: redis-cli -h <主机名> -p <端口号>。除了 redis-cli,还可通过检查端口、查看进程或使用 Redis 管理工具来判断 Redis 是否已启动。

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
3 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
3 周前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解锁Myrise中的所有内容
3 周前By尊渡假赌尊渡假赌尊渡假赌

热工具

安全考试浏览器

安全考试浏览器

Safe Exam Browser是一个安全的浏览器环境,用于安全地进行在线考试。该软件将任何计算机变成一个安全的工作站。它控制对任何实用工具的访问,并防止学生使用未经授权的资源。

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

Atom编辑器mac版下载

Atom编辑器mac版下载

最流行的的开源编辑器

SublimeText3 英文版

SublimeText3 英文版

推荐:为Win版本,支持代码提示!

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器