1、概述

之前聊了Redis的哨兵模式,哨兵模式解决了读的并发问题,也解决了Master节点单点的问题。

但随着系统越来越庞大,缓存的数据越来越多,服务器的内存容量又成了问题,需要水平扩容,此时哨兵模式就无法支持了,需要使用Redis的集群模式(Redis Cluster)。

Redis的集群模式(Redis Cluster),支持扩容、负载均衡、主从高可用,最经典的集群配置方案是三主三从,也就是三台Master服务节点,三台Slave服务节点。

接下来我们就来聊聊三主三从的Redis集群是如何搭建的。

2、场景描述

服务器1 IP:192.168.1.144

服务器2 IP:192.168.1.145

服务器3 IP:192.168.1.146

服务器4 IP:192.168.1.22

服务器5 IP:192.168.1.23

服务器6 IP:192.168.1.24

关于Redis的安装,请参见我的另一篇文章《Redis的安装、基本使用以及与SpringBoot的整合》。

3、Redis集群的搭建

3.1 修改 Redis 配置文件

# cd /usr/local/redis/

# vi redis.conf

详细配置参见下面截图:

3.2 删除旧的数据文件

如果不删除旧的数据文件,启动集群时会报错。

# cd /usr/local/redis/db

# rm -rf *.rdb *.aof

3.3 重启Redis

# cd /etc/init.d/

# ./redis_init_script stop

# ./redis_init_script start

所有Redis服务器都需按上面的三个步骤进行操作,即 3.1,3.2,3.3。

3.4 设置集群关系(在其中一台集群节点设置就可以)

# redis-cli -a zhuifengren --cluster create 192.168.1.144:6379 192.168.1.145:6379 192.168.1.146:6379 192.168.1.22:6379 192.168.1.23:6379 192.168.1.24:6379 --cluster-replicas 1

3.5 查看集群信息

# redis-cli -a zhuifengren --cluster check 192.168.1.22:6379

到此为止,Redis集群搭建成功。

4. 与SpringBoot整合

在之前的基础上修改yml文件即可

spring:
redis:
password: zhuifengren
cluster:
nodes: 192.168.1.144:6379,192.168.1.145:6379,192.168.1.146:6379,192.168.1.22:6379,192.168.1.23:6379,192.168.1.24:6379

5. 综述

今天我们聊了一下Redis集群的搭建,以及如何与SpringBoot进行整合,希望能对大家有所帮助。

欢迎大家多多评论交流,共同成长。

关注追风人聊Java,每天更新Java干货。

Redis集群的搭建及与SpringBoot的整合的更多相关文章

  1. linux环境(CentOS-6.7)下redis集群的搭建全过程

    linux环境下redis集群的搭建全过程: 使用mount命令将光盘挂载到/mnt/cdrom目录下: [root@hadoop03 ~]# mount -t iso9660 -o ro /dev/ ...

  2. 【redis】 linux 下redis 集群环境搭建

    Redis集群 (要让集群正常工作至少需要3个主节点,在这里我们要创建6个redis节点,其中三个为主节点,三个为从节点,对应的redis节点的ip和端口对应关系如下) 127.0.0.1:63791 ...

  3. 2.Redis集群环境搭建

    转载请出自出处:http://www.cnblogs.com/hd3013779515/ 一.基本概念 1.redis集群是一个可以在多个节点之间进行数据共享的设施.redis集群提供了以下两个好处1 ...

  4. redis集群的搭建详细教程

    1 Redis-cluster架构图             redis-cluster投票:容错  (至少要三个才可以,才能超过半数) 架构细节: (1)所有的redis节点彼此互联(PING-PO ...

  5. <正则吃饺子> :关于redis集群的搭建、集群测试、搭建中遇到的问题总结

    项目中使用了redis ,对于其基本的使用,相对简单些,根据项目中已经提供的工具就可以实现基本的功能,但是只是这样的话,对于redis还是太肤浅,甚至刚开始时候,集群.多节点.主从是什么,他们之间是什 ...

  6. Redis集群环境搭建

    Redis集群cluster环境搭建 描述:本章节主要单服务器搭建集群,在一个服务器上启动多个不同端口的redis服务,非真实环境. 真实环境下redis集群会搭建在多个物理服务器上,并非单一的服务器 ...

  7. (转) 淘淘商城系列——Redis集群的搭建

    http://blog.csdn.net/yerenyuan_pku/article/details/72860432 本文我将带领大家如何搭建Redis集群.首先说一下,为何要搭建Redis集群.R ...

  8. Redis集群的搭建【转】

    redis集群的特点: 1.机器多,能够保证redis服务器出现问题后,影响较小 2.自备主从结构,自动的根据算法划分主从结构.动态的实现 3.能够根据主从结构自动的实现高可用 4.实现数据文件的备份 ...

  9. redis集群redis-cluster搭建

    redis集群搭建--参考微信公众号(诗情画意程序员):https://mp.weixin.qq.com/s/s5eJE801TInHgb8bzCapJQ 这是来自redis官网的一段介绍,大概意思就 ...

随机推荐

  1. Java 反射(一)反射简介、原理和应用场景

    目录 一.动态语言和动态语言的比较 动态语言 静态语言 二.反射 简介 反射的常见使用 1. 代码编辑器 2. Spring等框架的IoC容器 3. 和注解的配合使用 原理 反射优缺点 调试查看 Cl ...

  2. PHP-Audit-Labs-Day1 - in_array函数缺陷

    函数缺陷原理分析 先看一段简单的源代码 class Challenge{ const UPLOAD_DIRECTORY = './solutions/'; private $file; private ...

  3. Java通过SSLEngine与NIO实现HTTPS访问

    Java使用NIO进行HTTPS协议访问的时候,离不开SSLContext和SSLEngine两个类.我们只需要在Connect操作.Connected操作.Read和Write操作中加入SSL相关的 ...

  4. Python - typing 模块 —— TypeVar 泛型

    前言 typing 是在 python 3.5 才有的模块 前置学习 Python 类型提示:https://www.cnblogs.com/poloyy/p/15145380.html 常用类型提示 ...

  5. STM32—TIMx实现编码器四倍频

    文章目录 一.储备知识 二.TIMx的编码器模式介绍 1.计数边沿设置 2.选择极性和使能 3.使能 4.计数方向 三.代码部分 一.储备知识 通过STM32的定时器编码器接口模式对编码器进行四倍频, ...

  6. 使用autopep8自动规范化python3代码

    技术背景 编码规范是所有编程语言都有可能面临的问题,严格的按照编码规范来写代码,不仅能够提高代码的可读性,在后续程序的可维护性上面也有较大的帮助.尤其是在开源项目中,一个具备良好编程规范的项目往往能够 ...

  7. python初始化定义空变量-小记

    python初始化定义空变量 数值 digital_value = 0 字符串 str_value = "" 列表 list_value = [] 字典 ditc_value = ...

  8. Nginx-出现-403-Forbidden

    步骤一: 检查目录权限.权限不足的就加个权限吧. 例子:chmod -R 755 / var/www 步骤二: 打开nginx.conf 例子:vim /etc/nginx/nginx.conf 把 ...

  9. java线程池 面试题(精简)

    什么是线程池? 线程池是一种多线程处理形式,处理过程中将任务提交到线程池,任务的执行交由线程池来管理. 如果每个请求都创建一个线程去处理,那么服务器的资源很快就会被耗尽,使用线程池可以减少创建和销毁线 ...

  10. Mybatis框架及原理实例分析

    摘要 本篇文章只是个人阅读mybatis源码总结的经验或者个人理解mybatis的基本轮廓,作为抛砖引玉的功能,希望对你有帮助,如果需要深入了解细节还需亲自去阅读源码. mybatis基本架构 myb ...