从redis 3.0之后版本支持redis-cluster集群,Redis-Cluster采用无中心结构,每个节点保存数据和整个集群状态,每个节点都和其他所有节点连接。

1、所有的redis节点彼此互联(PING-PONG机制),内部使用二进制协议优化传输速度和带宽。
     2、节点的fail是通过集群中超过半数的节点检测失效时才生效。
     3、客户端与redis节点直连,不需要中间proxy层.客户端不需要连接集群所有节点,连接集群中任何一个可用节点即可。
     4、redis-cluster把所有的物理节点映射到[0-16383]slot上(不一定是平均分配),cluster 负责维护node<->slot<->value。
     5、Redis集群预分好16384个桶,当需要在 Redis 集群中放置一个 key-value 时,根据 CRC16(key) mod 16384的值,决定将一个key放到哪个桶中。

该段引用:https://blog.csdn.net/z15732621582/article/details/79121213

windows下集群的安装:

1:安装redis

2:在一台windows上安装多个实例

复制C:\Program Files\Redis目录下的redis.windows-service.conf文件修改为redis.8085.conf并修改其中内容:

# 本地数据库名称 dbfilename dump-6380.rdb

# 日志文件 logfile "Logs/server_log_6380.txt"

# 日志输出 syslog-enabled yes

# 登录认证密码,三个实例可设置为一样的,推荐分别设置 requirepass 123456

注册服务

redis-server.exe --service-install redis.8085.conf --service-name redis8085

启动该服务

redis-server.exe --service-start --service-name redis6380

cmd执行命令测试登录

redis-cli.exe -h 127.0.0.1 -p 6380

删除实例服务则执行

redis-server.exe --service-uninstall --service-name redis6380

3:配置ruby相关支持

redis的集群使用  ruby脚本编写,所以系统需要有 Ruby 环境 ,下载地址 http://dl.bintray.com/oneclick/rubyinstaller/:rubyinstaller-2.3.3-x64.exe

安装时3个选项都勾选

安装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

安装集群脚本redis-trib

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

创建Redis集群

  • 复制C:\Program Files\Redis目录下的redis.windows-service.conf文件,复制多个修改位redis.8083.conf、redis.8084.conf、redis.8085.conf
  • 修改里面内容如下:
  • 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-server.exe --service-install redis.8083.conf --service-name redis8083
    redis-server.exe --service-install redis.8084.conf --service-name redis8084
    redis-server.exe --service-install redis.8085.conf --service-name redis8085
  • 执行集群操作:
  • redis-trib.rb create --replicas 0 127.0.0.1:8083 127.0.0.1:8084 127.0.0.1:8085
  • 检验是否真的创建成功,输入以下命令:redis-trib.rb check 127.0.0.1:8083
  • 创建完成

操作集群

  1. 使用Redis客户端Redis-cli.exe来查看数据记录数,以及集群相关信息:
  2. C:/Program Files/Redis/redis-cli.exe -c -p 8083
  3. dbsize   //查看记录总数
  4. cluster info   //可以从客户端的查看集群的信息

参考博客:

https://www.cnblogs.com/tommy-huang/p/6240083.html

redis集群及相关的使用的更多相关文章

  1. 深入浅出—Redis集群的相关详解

    前言: 这篇文章主要介绍了Redis集群的相关,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值. 注意!要求使用的都是redis3.0以上的版本,因为3.0以上增加了red ...

  2. laravel项目利用twemproxy部署redis集群的完整步骤

    Twemproxy是一个代理服务器,可以通过它减少Memcached或Redis服务器所打开的连接数.下面这篇文章主要给大家介绍了关于laravel项目利用twemproxy部署redis集群的相关资 ...

  3. Redis集群学习笔记

    Redis集群学习笔记 前言 最近有个需求,就是将一个Redis集群中数据转移到某个单机Redis上. 迁移Redis数据的话,如果是单机Redis,有两种方式: a. 执行redis-cli shu ...

  4. Redis 集群搭建(基于Linux)

    一.基础环境 1.虚拟机 VMware 15.x 2.Linux系统,用的是Centos7的Linux系统 3.Redis数据库版本 5.0.3 二.Redis集群简介 1.背景 Redis在3.0版 ...

  5. Redis集群~StackExchange.redis连接Sentinel服务器并订阅相关事件(原创)

    回到目录 对于redis-sentinel我在之前的文章中已经说过,它是一个仲裁者,当主master挂了后,它将在所有slave服务器中进行选举,选举的原则当然可以看它的官方文章,这与我们使用者没有什 ...

  6. redis集群相关

    1.主从数据库配置 为master数据库添加slave数据库只需要在从数据库的配置中添加配置: slaveof 主数据库地址 主数据库端口 当然,也可以通过命令: redis-server --por ...

  7. Linux 下Redis集群安装部署及使用详解(在线和离线两种安装+相关错误解决方案)

    一.应用场景介绍 本文主要是介绍Redis集群在Linux环境下的安装讲解,其中主要包括在联网的Linux环境和脱机的Linux环境下是如何安装的.因为大多数时候,公司的生产环境是在内网环境下,无外网 ...

  8. Redis集群维护、运营的相关命令与工具介绍

    Redis集群的搭建.维护.运营的相关命令与工具介绍 一.概述 此教程主要介绍redis集群的搭建(Linux),集群命令的使用,redis-trib.rb工具的使用,此工具是ruby语言写的,用于集 ...

  9. Redis集群案例与场景分析

    1.背景 Redis的出现确实大大地提高系统大并发能力支撑的可能性,转眼间Redis的最新版本已经是3.X版本了,但我们的系统依然继续跑着2.8,并很好地支撑着我们当前每天5亿访问量的应用系统.想当年 ...

随机推荐

  1. JAVA 得到数组的长度

    package Code411; //得到数组的长度// 使用 array.length public class CodeArrayLength { public static void main( ...

  2. python的位置参数、默认参数、关键字参数、可变参数区别

    一.位置参数 调用函数时根据函数定义的参数位置来传递参数. #!/usr/bin/env python # coding=utf-8 def print_hello(name, sex): sex_d ...

  3. 分享腾讯云的Linux服务器连接速度很慢的解决心得(原创)

    最近发觉连接服务器非常慢,之前没有出现过这种情况. 我在这个腾讯云的服务器上弄了很多虚拟服务器,估计是数据量太大 造成了冗余数据较多的原因,咨询了下腾讯云的小哥, 给我了个明确的回复: 您反馈Xshe ...

  4. EF 简单介绍<一>

    一:EF概述 Entity Framework(EF)是一个开源的“对象/关系映射(ORM:Object Relational Mapping)”框架,使应用程序可以使用一种“纯”的对象模型来访问关系 ...

  5. spark DataFrame的创建几种方式和存储

    一. 从Spark2.0以上版本开始,Spark使用全新的SparkSession接口替代Spark1.6中的SQLContext及HiveContext接口来实现其对数据加载.转换.处理等功能.Sp ...

  6. Java运行原理、三大体系、jdk构成

    一.java运行原理: 二.Java分为三个体系: JavaSE(J2SE)(Java2 Platform Standard Edition,java平台标准版) JavaEE(J2EE)(Java ...

  7. django-request对象

    HTTP 应用的信息是通过 请求报文 和 响应报文 传递的,关于更多的相关知识,可以阅读<HTTP权威指南>获得. 其中 请求报文 由客户端发送,其中包含和许多的信息,而 django 将 ...

  8. java 图片裁剪

    图片裁剪功能,我一直以为是前端那边去做,后台不用做过多的考虑,现在我发现,前端去做裁剪好像不是太理想,我在这里简单地介绍一下我们大java的裁剪功能 前端只需要上传,x (x轴),y(y轴) , h( ...

  9. 潭州课堂25班:Ph201805201 tornado 项目 第五课 增加用户系统-用户中心(课堂笔记)

    tornado 相关说明 在 users 表中创建记录,做测试 在项目根目录下创建 test.py # -*- coding: utf-8 -*- # 斌彬电脑 # @Time : 2019/2/27 ...

  10. OI/ACM 刷题网站 人气OJ简介

         SPOJ简介 SPOJ是波兰最为出色的Online Judge之一,界面和谐,题目类型也非常丰富,适合有一定基础的选手练习,对高手而言也是个提高能力的良好平台. SPOJ题目分类:class ...