主从复制

  • 主数据库可以进行读写操作,当读写操作导致数据变化时会自动将数据同步给从数据库
  • 从数据库一般都是只读的,并且接收主数据库同步过来的数据
  • 一个master可以拥有多个slave,但是一个slave只能对应一个master

哨兵模式

  • 监控主从数据库是否正常运行
  • master出现故障时,自动将slave转化为master
  • 多哨兵配置的时候,哨兵之间也会自动监控
  • 多个哨兵可以监控同一个redis

集群模式

两台虚拟机CentOS搭建3 master、3 salve 环境。

(1)下载并解压

  cd /root/software

  wget http://download.redis.io/releases/redis-3.2.4.tar.gz

  tar -zxvf redis-3.2.4.tar.gz 

(2)编译安装

  cd redis-3.2.4

  make && make install

(3)将 redis-trib.rb 复制到 /usr/local/bin 目录下

    cd src
  cp redis-trib.rb /usr/local/bin/

(3)创建 Redis 节点

  mkdir redis_cluster

  在 redis_cluster 目录下,创建名为7000、7001、7002的目录,并将 redis.conf 拷贝到这三个目录中

  mkdir 7000 7001 7002

  cp redis.conf redis_cluster/7000

  cp redis.conf redis_cluster/7001

  cp redis.conf redis_cluster/7002

  分别修改这三个配置文件,修改如下内容

  port  7000                                        //端口7000,7002,7003

  bind 本机ip                                       //默认ip为127.0.0.1 需要改为其他节点机器可访问的ip 否则创建集群时无法访问对应的端口,无法创建集群

  daemonize    yes                               //redis后台运行

  pidfile  /var/run/redis_7000.pid          //pidfile文件对应7000,7001,7002

  cluster-enabled  yes                           //开启集群  把注释#去掉

  cluster-config-file  nodes_7000.conf   //集群的配置  配置文件首次启动自动生成 7000,7001,7002

  cluster-node-timeout  15000                //请求超时  默认15秒,可自行设置

  appendonly  yes                           //aof日志开启  有需要就开启,它会每次写操作都记录一条日志 

  接着在另外一台机器上重复以上三步,只是把目录改为7003、7004、7005,对应的配置文件也按照这个规则修改即可.

(4)启动各个节点

  第一台机器上执行

  redis-server redis_cluster/7000/redis.conf

  redis-server redis_cluster/7001/redis.conf

  redis-server redis_cluster/7002/redis.conf

 另外一台机器上执行

  redis-server redis_cluster/7003/redis.conf

  redis-server redis_cluster/7004/redis.conf

  redis-server redis_cluster/7005/redis.conf

(5)检查 redis 启动情况

  ps -aux| grep redis

(6)需要安装 ruby

  yum -y install ruby ruby-devel rubygems rpm-build

  gem install redis

(7)创建集群

  Redis 官方提供了 redis-trib.rb 这个工具,就在解压目录的 src 目录中,第三步中已将它复制到 /usr/local/bin 目录中,可以直接在命令行中使用了。使用下面这个命令即可完成安装。

  redis-trib.rb  create  --replicas  1  192.168.31.245:7000 192.168.31.245:7001  192.168.31.245:7002 192.168.31.210:7003  192.168.31.210:7004  192.168.31.210:7005

(8)集群验证

  在第一台机器上连接集群的7002端口的节点,在另外一台连接7005节点,连接方式为 redis-cli -h 192.168.31.245 -c -p 7002  ,加参数 -C 可连接到集群,因为上面 redis.conf 将 bind 改为了ip地址,所以 -c 参数不可以省略。在7005节点执行命令  set hello world ,然后在另外一台7002端口,查看 key 为 hello 的内容, get hello 。

redis三种集群策略的更多相关文章

  1. Redis三种集群模式介绍

    三种集群模式 redis有三种集群模式,其中主从是最常见的模式. Sentinel 哨兵模式是为了弥补主从复制集群中主机宕机后,主备切换的复杂性而演变出来的.哨兵顾名思义,就是用来监控的,主要作用就是 ...

  2. 一文掌握Redis的三种集群方案

    在开发测试环境中,我们一般搭建Redis的单实例来应对开发测试需求,但是在生产环境,如果对可用性.可靠性要求较高,则需要引入Redis的集群方案.虽然现在各大云平台有提供缓存服务可以直接使用,但了解一 ...

  3. redis的三种集群方式

    redis有三种集群方式:主从复制,哨兵模式和集群. 1.主从复制 主从复制原理: 从服务器连接主服务器,发送SYNC命令: 主服务器接收到SYNC命名后,开始执行BGSAVE命令生成RDB文件并使用 ...

  4. Redis实战(十三)Redis的三种集群方式

    序言 能聊聊redis cluster集群模式的原理吗 资料 https://www.cnblogs.com/51life/p/10233340.html Redis 集群分片原理

  5. redis解决方案之三种集群模式的概念与部署

    上篇文章为大家总结了redis命令并讲述了持久化,今天我们来看一下redis的三种集群模式:主从复制,哨兵集群,Cluster集群 本篇文章先介绍redis-cluster集群模式,然后再依次介绍它的 ...

  6. Redis进阶实践之十 Redis主从复制的集群模式

    一.引言        Redis的基本数据类型,高级特性,与Lua脚本的整合等相关知识点都学完了,说是学完了,只是完成了当前的学习计划,在以后的时间还需继续深入研究和学习.从今天开始来讲一下有关Re ...

  7. Spring Boot(十三):整合Redis哨兵,集群模式实践

    前面的两篇文章(Redis的持久化方案, 一文掌握Redis的三种集群方案)分别介绍了Redis的持久化与集群方案 -- 包括主从复制模式.哨兵模式.Cluster模式,其中主从复制模式由于不能自动做 ...

  8. Redis源码阅读(三)集群-连接初始化

    Redis源码阅读(三)集群-连接建立 对于并发请求很高的生产环境,单个Redis满足不了性能要求,通常都会配置Redis集群来提高服务性能.3.0之后的Redis支持了集群模式. Redis官方提供 ...

  9. k8s 上部署 Redis 三主三从 集群

    目录 介绍 为什么要使用Redis? 什么是Redis群集? 在Kubernetes中部署Redis集群 从 GitHub 上下载: 创建pv 创建statefulset 创建service 初始化 ...

随机推荐

  1. pytest以函数形式形成测试用例

    #coding=utf- from __future__ import print_function #开始执行该文件时,该函数执行 def setup_module(module): print(' ...

  2. keepalived haproxy 主备配置

    global_defs { router_id k8s_master} vrrp_script chk_http_port {script "/etc/keepalived/check_ha ...

  3. ansible-playbook-常用

    创建软链:file: - name: create link hosts: "{{hosts_ip}}" tasks: - name: create link file: src= ...

  4. 数据接口-免费版(股票数据API)

    获取股票数据的源头主要有:数据超市.雅虎.新浪.Google.和讯.搜狐.ChinaStockWebService.东方财富客户端.证券之星.网易财经. 数据超市 2016年5月6日更新.根据最近频繁 ...

  5. RSA加密公钥系数获取结果多00

    写在前面 本文是在解决加密和解密用的不是同一套密钥对时找到的一篇, 最后问题不在byte数组, 是自己工具类中生成密钥对的问题, 但是本文RSA加密中公钥指数和公钥系数的获取(byte[]部分)讲解比 ...

  6. QT自定义信号和槽

    最近项目中使用到QT,在此记录一下QT的核心,信号与槽: QObject::connect(const QObject *sender, const char *signal, const QObje ...

  7. CMake版本低,需要更高版本.

    https://blog.csdn.net/qq_34935373/article/details/90266958 使用cmake命令安装Opencv软件时,报如下错误: CMake Error a ...

  8. 029_H5打包编译成IOS

    由于需要H5编写的应用在iPhone上使用,所以有了以下的需求 一. (1)下载npm,官网: http://nodejs.org/ 下载nodejs安装包 Reference:https://jin ...

  9. sql 时间段交叉查询是否有交集

    --双11活动结束时间大于当前服务器时间代表有效期的活动 --实现1 select * from ProdCar A where A.EndDate> GETDATE() and A.EndDa ...

  10. label vc

    #pragma once #include <QWidget> #include <QPaintEvent> #include <QPainter> #includ ...