Redis主从复制机制


1、读写分离的好处

  • 性能优化:主服务器专注于写操作,可以更适合写入数据的模式工作;同样,从服务器专注于读操作,可以用更适合读取数据的模式工作。
  • 强化数据安全,避免单点故障:由于同步机制的存在,各个服务器之间的数据保持一致,所以其中某个服务器宕机不会导致数据丢失或无法访问,从这个角度说,参与主从复制的Redis服务器构成了一个集群。

2、搭建步骤

  • 思路

    Redis集群在运行时使用的的是同一个可执行文件,只是对应的配置文件不同。

因此我们不需要安装过多的Redis。

每个配置文件相同的参数是:

daemonize yes
dir /usr/local/cluster-redis

不同的参数是:

配置项名称 作用 取值
port Redis服务器启动后监听的端口号 5000 6000 7000
dbfilename RDB文件存储位置 dump5000.rdb dump6000.rdb dump7000.rdb
logfile 日志文件位置 /var/logs/redis5000.log /var/logs/redis6000.log /var/logs/redis7000.log
pidfile pid文件位置 /var/run/redis5000.log /var/run/redis6000.log /var/run/redis7000.log
  • 第一步:创建/usr/local/cluster-redis 目录

    命令
 mkdir /usr/local/cluster-redis
cp /etc/redis/redis.conf /usr/local/cluster-redis/

  • 第二步:

    修改redis配置文件的的相关配置参数



    要配置的参数如下:

    daemonize yes

    dir

    port

    dbfilename

    logfile

    pidfile

将上面的参数一一配置成我们的表格内的参数。

这里我们的配置文件过大影响阅读,请大家自行配置。

  • 第三步运行

    配置后把我们的集群运行起来

执行命令:

ps -ef | grep redis | grep -v grep

运行效果如下所示:

客户端登录如下所示:


3、主从关系

  • 查看主从关系
info replication

运行效果如下所示:



显然他们都是master

  • 设定主从关系

在从机上指定主机位置即可

slaveof ip port

设定你当前的这个服务器为另外一个服务器的从服务器。

运行效果如下所示:

master服务器运行结果如下

高强度学习训练第六天总结:Redis主从关系总结的更多相关文章

  1. 高强度学习训练第四天总结:JVM+Redis

    JVM 复习了JVM堆内存的几个模块. 复习了JVM的几个控制工具. 复习了JVM发展历史 Redis 复习了Redis的事务控制.

  2. 高强度学习训练第十三天总结:使用Netty实现一个http服务器

    Netty入门 Netty的重要性不言而喻.那么今天就来学习一下Netty. 整个项目基于Gradle搭建. Build如下所示: plugins { id 'java' } group 'cn.ba ...

  3. 高强度学习训练第十天总结:Class文件

    今天这Class文件看的我一脸懵圈.有种当初学PE时候的感觉了. 类文件结构 如果计算机的CPU指令集只有X86一种,操作系统也只有windows,那也许Java语言就不会出现.Java在诞生之初就提 ...

  4. 高强度学习训练第九天总结:5道剑指offer的题目

    实在不想看JVM了.刷几道剑指Offer的题,今天就水一水吧,脑子迷糊. 1.二维数组中的查找 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增 ...

  5. 高强度学习训练第八天总结:MySQL的一些优化

    为什么要做MYSQL优化 系统的吞吐量瓶颈往往出现在数据库的访问速度上 随着应用程序的运行,数据库中的数据会越来越多,处理时间会相应变慢. 数据是存放在磁盘上的,读写速度无法和内存相比 如何优化 设计 ...

  6. 高强度学习训练第十六天总结: Spring框架中的设计模式

    仔细想了想..没必要重复造轮子. 每天复习啥了就直接CTRL CV了 https://gitee.com/SnailClimb/JavaGuide/blob/master/docs/system-de ...

  7. 高强度学习训练第十四天总结:HashMap

    HashMap 简介 HashMap 主要用来存放键值对,它基于哈希表的Map接口实现,是常用的Java集合之一. JDK1.8 之前 HashMap 由 数组+链表 组成的,数组是 HashMap ...

  8. 高强度学习训练第十二天总结:Java hashCode和equals的关系

    今天要收拾东西.草草的总结下.. 1.如果两个对象相等,则hashcode一定也是相同的 2.两个对象相等,对两个对象分别调用equals方法都返回true 3.两个对象有相同的hashcode值,它 ...

  9. 高强度学习训练第十一天总结:Class文件结构(二)

    常量池 可以理解为Class文件之中的资源仓库,他是Class文件结构中与其他项目关联最多的数据类型,也是占用Class文件空间最大的数据项目之一 访问标志 在常量池结束后,紧接着的俩个字节代表访问标 ...

随机推荐

  1. SpringBoot 发送邮件功能实现

    背景 有个小伙伴问我你以前发邮件功能怎么弄的.然后我就给他找了个demo,正好在此也写一下,分享给大家. 理清痛点 发送邮件,大家可以想一下,坑的地方在哪? 我觉得是三个吧. 第一:邮件白名单问题. ...

  2. luogu P4981 父子

    题目背景 上演在各大学男生寝室的日常 :: A :A: "我没带纸,快来厕所救我!" B :B: "叫爸爸." A :A: "爸爸!" .. ...

  3. Evevt Loop 事件循环

    目录 JavaScript 是一门单线程的语言 一.什么是event Loop的执行机制 练习 异步任务-setTimeout 练习1: 练习2: 练习3: 练习4: 二 事件队列作用 同步任务 例1 ...

  4. ARTS-S gitlab与jenkins实现持续集成

    jenkins配制 系统管理->管理插件->可选插件->选择安装 Gitlab Hook Plugin和Build Authorization Token Root Plugin插件 ...

  5. tensorflow tf.train.Supervisor作用

    tf.train.Supervisor可以简化编程,避免显示地实现restore操作.通过一个例子看. import tensorflow as tf import numpy as np impor ...

  6. WebAPI测试概念及postman初识

    什么是接口?   ------   某个对象和外界交互的部分 消息交互接口:基于soap的web service  ---- http协议 web api   ------- http协议 diame ...

  7. cs5642 v3摄像头拍照效果

    4个摄像头拍照效果 配置的是ov5642_960p_RAW 测试图片分别如下:

  8. 虚拟链路(virtual-link)

    第四部分,虚拟链路配置.我们都知道,在ospf多区域中,所有与主干区域(ospf0)相连接的其他区域可以相互学系路由信息,但是,如果是非主干区域和非主干区域相连,就不能相互学习路由信息,这时候,我们可 ...

  9. 常用eslint配置

    "off"或者0 //关闭规则关闭 "warn"或者1 //在打开的规则作为警告(不影响退出代码) "error"或者2 //把规则作为一个 ...

  10. 小白学 Python 爬虫(22):解析库 Beautiful Soup(下)

    人生苦短,我用 Python 前文传送门: 小白学 Python 爬虫(1):开篇 小白学 Python 爬虫(2):前置准备(一)基本类库的安装 小白学 Python 爬虫(3):前置准备(二)Li ...