1、概述

随着企业业务的不断扩大,请求的并发量不断增长,Redis可能终会出现无法负载的情况,此时我们就需要想办法去提升Redis的负载能力。

读写分离(主从复制)是一个比较简单的扩展方案,使用多台机器同时运行Redis服务,一台负责写服务,多台负责读服务,通过多台服务器对请求进行负载,大大提高了Redis服务的负载压力。

最常见的读写分离是一主二从的模式,一台主服务器负责Redis写入服务,两台从服务器负责Redis的读取服务,从服务器定时从主服务器复制Redis数据。

今天我们就来聊聊Redis的读写分离如何搭建的。

2、读写分离的搭建

2.1 场景说明

主服务器IP:192.168.1.144

从服务器A IP:192.168.1.22

从服务器B IP:192.168.1.8

这三台服务器上都已经安装好了Redis环境,安装方法参见我的另一篇文章《Redis的安装、基本使用以及与SpringBoot的整合》。

2.2 修改从服务器A和从服务B的Redis配置

replicaof   设置Redis主服务的IP和端口

masterauth    设置Redis主服务的密码

2.3 删除从服务器A和从服务器B的数据文件

# cd /usr/local/redis/db

# rm -rf *.rdb *.aof

2.4 重启从服务器A和从服务器B

# cd /etc/init.d/

# ./redis_init_script stop

# ./redis_init_script start

2.5 查看主从状态

# redis-cli

> AUTH zhuifengren

> info replication

主服务器状态:

 从服务器A状态:

从服务器B状态:

 2.6 测试主从复制

此时,在主服务器,写入Redis值,在从服务器就可以读取。

3、综述

今天介绍了Redis读写分离的搭建,相对来说是比较容易的,但读写分离有个缺点,当主服务宕机后,从服务是不能升级成主服务的。

为了解决这个单点问题,后面我们会介绍Redis的哨兵模式和集群模式。

希望大家多多评论交流,共同成长。

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

Redis的读写分离的更多相关文章

  1. redis sentinel 读写分离

    redis sentinel 读写分离 https://www.jianshu.com/p/d1636776bb40

  2. windows下Redis 主从读写分离部署

    原文:windows下Redis 主从读写分离部署 1.可直接下载window下的运行文件(下面这个链接) 也可以浏览github 查看相应的版本说明文档 https://github.com/Ser ...

  3. 在项目中部署redis的读写分离架构(包含节点间认证口令)

    #### 在项目中部署redis的读写分离架构(包含节点间认证口令) ##### 1.配置过程 ---  1.此前就是已经将redis在系统中已经安装好了,redis utils目录下,有个redis ...

  4. Redis主从+读写分离中可以在从机读取到过期数据

    参考链接: https://mp.weixin.qq.com/s?__biz=MzIyNzUwMjM2MA==&mid=2247483696&idx=1&sn=c69e364b ...

  5. redis主从复制读写分离

    主从复制,读写分离 Master/Slave 是什么 master写入 slave读取 能干嘛 读写分离,更加安全,性能提升 怎么玩 一主二仆.薪火相传.反客为主 周明老师,能够把长篇大论总结的很精辟 ...

  6. redis 主从复制+读写分离+哨兵

    1.redis读写分离应用场景 当数据量变得庞大的时候,读写分离还是很有必要的.同时避免一个redis服务宕机,导致应用宕机的情况,我们启用sentinel(哨兵)服务,实现主从切换的功能.redis ...

  7. 基于Redis主从复制读写分离架构的Session共享

    1.搭建主从复制 第一步:将Redis拷贝到虚拟机上的指定文件夹内,此Redis作为主服务 第二步:将Redis拷贝到本机的指定文件夹内,此Redis作为从服务 第三步:修改主服务的配置文件(redi ...

  8. 基于Redis主从复制读写分离架构的Session共享(Windows Server)

    搭建主从复制 1.安装软件 下载Redis-x64-3.2.100.zip:https://github.com/MicrosoftArchive/redis/releases 第一步:将Redis拷 ...

  9. Redis 主从复制, 读写分离

    1: 是什么? 2: 经常是配置从库, 不配置主库 3.1: 每次与 master 断开之后都要从连, 除非你配置了redis.conf 3.2: 获取当前redis 服务信息 => info ...

随机推荐

  1. CVPR2021 | Transformer用于End-to-End视频实例分割

    ​ 论文:End-to-End Video Instance Segmentation with Transformers 获取:在CV技术指南后台回复关键字"0005"获取该论文 ...

  2. Spring Cloud Gateway自定义异常处理Exception Handler

    版本: Spring Cloud 2020.0.3 常见的方法有 实现自己的 DefaultErrorWebExceptionHandler 或 仅实现ErrorAttributes. 方法1: Er ...

  3. C++ 1 (只在源文件)//点和圆的关系 //设计一个圆形类 和一个点类 计算点和圆的关系 //点到圆心的距离 == 半径 点在圆上 //点到圆心的距离 > 半径 点在圆外 //点到圆心的距离 < 半径 点在圆内 //点到圆心的距离 获取 ....... (x1 -x2)^2 + (y1-y2)^2 开根号 和半径对比 // 计算 可以 两边同时 平方

    1 //点和圆的关系 2 //设计一个圆形类 和一个点类 计算点和圆的关系 3 //点到圆心的距离 == 半径 点在圆上 4 //点到圆心的距离 > 半径 点在圆外 5 //点到圆心的距离 &l ...

  4. 复杂字符串转List<JSONObject>

    public static List<JSONObject> getlist(String data){ ObjectMapper mapper = new ObjectMapper(); ...

  5. 『Java』Collection接口 Collections类

    接口Collection public interface Collection<E>定义了所有单列集合中共性的方法,所有的单列集合都可以使用共性方法. Collection的常用子接口有 ...

  6. Linux之cat tail less常见用法

    1.cat 通常查找出错误日志 cat error.log | grep 'foo' , 这时候我们还有个需求就是输出当前这个日志的前后几行: cat error.log | grep -C 10 ' ...

  7. Shell-06-正则表达式

    正则表达式 shell正则表达式分为两种 基础正则表达式:BRE 扩展正则表达式:ERE,扩展的表达式有 + .? .| 和 () 元字符表 * 匹配0次或多次 更多请查看相关网站 http://ww ...

  8. 【笔记】使用PCA对数据进行降噪(理解)

    使用PCA对数据进行降噪(使用手写数字实例) (在notebook中) 加载库并制作虚拟的数据并进行绘制 import numpy as np import matplotlib.pyplot as ...

  9. Java-ThreadPool线程池总结

    ThreadPool 线程池的优势 线程池做的工作主要是控制运行的线程数量,处理过程中将任务放入队列,然后在线程创建后启动这些任务,如果线程数量超过了最大数量,超出的线程排队等候,等待其他线程执行完毕 ...

  10. docker 安装mysql设置不区分表名大小写,创建minio,设置开机自启动

    环境deepin mysql : docker run -p 3306:3306 --name tyer-mysql --restart=always -v $PWD/conf:/etc/mysql/ ...