一、集群知识

1.集群的概念

  所谓的集群,就是通过添加服务器的数量,提供相同的服务,从而让服务器达到一个稳定、高效的状态。

2.使用redis集群的必要性

  问题:我们已经部署好了redis,并且能启动一个redis,实现数据的读写,为什么还要学习redis集群?

  答:(1)单个redis存在不稳定性。当redis服务宕机了,就没有可用的服务了。

    (2)单个redis的读写能力是有限的。

  总结:redis集群是为了强化redis的读写能力。

3.如何学习redis集群

 说明:(1)redis集群中,每一个redis称之为一个节点。

   (2)redis集群中,有两种类型的节点:主节点(master)、从节点(slave)。

   (3)redis集群,是基于redis主从复制实现。

所以,学习redis集群,就是从学习redis主从复制模型开始的。

二、准备工作

Redis下载地址:https://github.com/MicrosoftArchive/redis/releases

Ruby语言运行环境下载:https://rubyinstaller.org/downloads/

Redis的Ruby驱动redis-xxxx.gem下载:https://rubygems.org/pages/download

创建Redis集群的工具redis-trib.rb:https://raw.githubusercontent.com/antirez/redis/unstable/src/redis-trib.rb

  PS:以上所有工具关注最下方公众号,点击软件目录,可以直接下载百度网盘

三、安装配置Redis

1.下载Redis-x64-3.2.100.zip,点击下载Redis

要让集群正常运作至少需要3个主节点,建议配置3个主节点,其余3个作为各个主节点的从节点(也是官网推荐的模式)。

所以需要6台虚拟机,本文配置了6个节点,根据您的需求合理安排。

主节点崩溃,从节点的Redis就会提升为主节点,代替原来的主节点工作,崩溃的主Redis恢复工作后,会再成为从节点。

2.创建Redis集群目录,把 redis 解压后,再复制出 11份,配置 六主六从集群。 由于 redis 默认端口号为 6379,那么其它5份的端口可以为6380,6381,6382,6383,6384,6385,6386,6387,6388,6389,6390 并且把目录使用端口号命名,如下图示例:

3.修改配置文件,打开每个Redis目录下的文件 redis.windows.conf,修改里面的端口号分别对应相对应的文件夹名:6379、6380,6381,6382,6383,6384,6385,6386,6387,6388,6389,6390再修改集群支持配置,将以下配置前面的#去掉。

cluster-enabled yes
cluster-config-file nodes-6379.conf
cluster-node-timeout 15000
appendonly yes

  cluster-config-file nodes-6379.conf 是为该节点的配置信息,这里使用 nodes-端口.conf命名方法。服务启动后会在目录生成该文件。

4.编写启动脚本,或者进入每个端口命名的文件夹下启动服务,编写一个 bat 来启动 redis,在每个节点目录下建立 startup.bat,内容如下:

title redis-6379
redis-server.exe redis.windows.conf

  title命名规则 redis-相对应的端口。

四、安装Ruby

1. redis的集群使用  ruby脚本编写,所以系统需要有 Ruby 环境 ,点击下载Ruby 环境

2.下载成功后,点击安装,三个都要选上后下一步(安装位置不要使用中文)。

五、安装Redis的Ruby驱动redis-xxxx.gem

1.点击下载redis-xxxx.gem

2.下载成功后,解压当前目录切换到解压目录中,如C:\Users\fuzongle\Desktop\redis集群\redis-cluster\rubygems-3.1.4 然后命令行执行  ruby setup.rb,

再用 GEM 安装 Redis :切换到redis安装目录,需要在命令行中,执行 gem install redis

五 安装集群脚本redis-trib

1.点击下载redis-trib.rb,打开该链接把里面的脚本保存为redis-trib.rb,建议保存到一个Redis的目录下(不用每个都放),例如放到6379目录下。

redis-trib.rb集群的命令为  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 127.0.0.1:6385 127.0.0.1:6386 127.0.0.1:6387 127.0.0.1:6388 127.0.0.1:6389 127.0.0.1:6390

注意:--replicas 1 表示每个主数据库拥有从数据库个数为1。master节点不能少于3个,这里我使用了6个主节点,6个从节点

2.启动之后,可以看到主从库地址,点击yes,下次就不需要重新执行这个命令了,直接启动每个redis 即可。

 六、连接集群测试

下载redis客户端连接即可

  ps:如需了解工作原理可以看下这个挺好的:转载:https://www.cnblogs.com/mengchunchen/p/10059436.html

注意:

1.如果有任何不懂的地方可以关注公众号就可以加我微信,随时欢迎互相帮助。

2.技术交流群QQ:422167709。

3.如果希望学习更多,希望微信扫码,长按扫码,帮忙关注一下,举手之劳,当您无助的时候真的能帮你。非常感谢您关注公众号 "编程小乐"。

Windows搭建Redis集群-详细教程的更多相关文章

  1. windows搭建redis集群最佳实践

    一.redis的下载安装: (1)下载Redis-x64-3.2.100地址:https://github.com/MicrosoftArchive/redis/releases (2)安装后文件如下 ...

  2. Windows下 搭建redis集群

    Windows下搭建redis集群教程 一,redis集群介绍 Redis cluster(redis集群)是在版本3.0后才支持的架构,和其他集群一样,都是为了解决单台服务器不够用的情况,也防止了主 ...

  3. Windows下搭建Redis集群

    Redis集群: 如果部署到多台电脑,就跟普通的集群一样:因为Redis是单线程处理的,多核CPU也只能使用一个核, 所以部署在同一台电脑上,通过运行多个Redis实例组成集群,然后能提高CPU的利用 ...

  4. Redis集群搭建(转自一菲聪天的“Windows下搭建Redis集群”)

    配置Redis参考:http://blog.csdn.net/zsg88/article/details/73715947 使用Ruby配置集群参考:https://www.cnblogs.com/t ...

  5. Windows 环境搭建Redis集群(win 64位)

    转: http://blog.csdn.net/zsg88/article/details/73715947 参考:https://www.cnblogs.com/tommy-huang/p/6240 ...

  6. Windows 环境搭建Redis集群

    环境以及引用资料 1.windows server 2008 r2 enterprise  (木有办法,公司的服务器全是如此,就这种环境搭建吧) 2.redis官方资料下载: https://redi ...

  7. windows环境下搭建Redis集群

    转载请注明出处,原文章地址: https://www.cnblogs.com/tommy-huang/p/6240083.html Redis集群: 如果部署到多台电脑,就跟普通的集群一样:因为Red ...

  8. 在windows上搭建redis集群

    一 所需软件 Redis.Ruby语言运行环境.Redis的Ruby驱动redis-xxxx.gem.创建Redis集群的工具redis-trib.rb 二 安装配置redis redis下载地址   ...

  9. Windows及Linux环境搭建Redis集群

    一.Windows环境搭建Redis集群 参考资料:Windows 环境搭建Redis集群 二.Linux环境搭建Redis集群 参考资料:Redis Cluster的搭建与部署,实现redis的分布 ...

随机推荐

  1. #PHP 类的多继承实现之 traits.md

    TRAIT PHP本身是并不支持多继承的,也就是,一个类只能继承一个类,为了满足业务需求,后来有了一些解决方法,例如,链式继承,B继承A,然后C继承B,这样,C就同时继承了AB, 此外还有接口,因为接 ...

  2. Python数据可视化实战:实时更新海外疫情数据,实现数据可视化

    前言 我国的疫情已经得到了科学的控制,开始了全面的复工复产,但是国外的疫情却“停不下来”.国外现在可谓就是处于水深火热当中啊,病毒极强的传染性,导致了许多的人都“中招”了,我国已经全面复工复产了,人大 ...

  3. 多线程集成设计模式--MasterWorker模式讲解(一)

    Master-Worker模式是常用的并行模式之一,它的核心思想是,系统有两个进程协作工作:Master进程,负责接收和分配任务:Worker进程,负责处理子任务.当Worker进程将子任务处理完成后 ...

  4. jmeter跨线程组获取cookie或jmeter线程组共享cookie-笔者亲测

    一.Jmeter版本 此次示例采用的是apache-jmeter-5.2.1版本 二.设置配置文件使Cookie管理器保存cookie信息. 修改apache-jmeter-5.2.1/bin/jme ...

  5. js页面跳转的问题(跳转到父页面、最外层页面、本页面)

    "window.location.href"."location.href"是本页面跳转 "parent.location.href"是上一 ...

  6. JavaScript基础关于JSON(011)

    JSON意即JavaScript Object Notation,是JavaScript里数据表示的通用格式,JSON数据格式很象JavaScript里的对象: {"name": ...

  7. 什么是EL表达式?

    1.什么是EL表达式? EL(Expression Language) 是为了使JSP写起来更加简单.表达式语言的灵感来自于 ECMAScript 和 XPath 表达式语言,它提供了在 JSP 中简 ...

  8. Git 新建版本库命令

    Command line instructions Git global setup git config --global user.name "张三" git config - ...

  9. JavaScript中数组去重的几种方法

    JavaScript中数组去重的几种方法 正常情况下,数据去重的工作一般都是由后端同事来完成的,但是前端也要掌握好处理数据的能力,万一去重的工作交给我们大前端处理,我们也不能怂呀.现在我总结了一些去重 ...

  10. Python——读取大文件(GB)

    最近处理文本文档时(文件约2GB大小),出现memoryError错误和文件读取太慢的问题,后来找到了两种比较快Large File Reading 的方法,本文将介绍这两种读取方法. Prelimi ...