广告
返回顶部
首页 > 资讯 > 数据库 >redis的三种部署方式和数据读取方式
  • 170
分享到

redis的三种部署方式和数据读取方式

redis的三种部署方式和数据读取方式 2017-03-18 22:03:13 170人浏览 无得
摘要

Redis redis的三种部署方式 1:主从复制,就是每台机器都是一样的,这种部署方式每台服务器都会向主服务器同步自己的数据,所以其中的数据内容是相同的 工作机制:从服务器连接到主服务器发送SYNC命令,主服务器接收命

redis的三种部署方式和数据读取方式

Redis
redis的三种部署方式
1:主从复制,就是每台机器都是一样的,这种部署方式每台服务器都会向主服务器同步自己的数据,所以其中的数据内容是相同的

工作机制:从服务器连接到主服务器发送SYNC命令,主服务器接收命令,开始执行BGSAVEE命令申城RDB文件并使用缓冲区域记录伺候执行的所有写命令,主服务器的BGSAVE命令执行完成后,向所有服务器发送快照文件,并继续记录执行的写命令,从服务器收到快照文件后丢弃所有的旧数据,载入收到的快照,主服务器发送完毕后开始向服务器发送缓冲区的写命令,从服务器完成对快照的载入,开始接受命令请求,并执行来自主服务器缓冲区的写命令,完成初始化,最后主服务器接收到写命令后就向从服务器发送这个写命令,从服务器接收并执行

slaver将master中的信息读取出来放入磁盘中,然后加载进内存,客户端直接从内存中读取信息,从这一点也可以看出,redis其实就是一个内存数据库

只有一个master,可以有n个slaver,每个slaver也可以有自己的slaver,master只负责写和同步数据给slaver,所以如果我们要提高读取效率只需要扩容slaver就可以了

SYNC命令是非常消耗资源的,因为每次执行SYNC命令,主从服务器需要执行以下操作:

主服务器需要执行BGSAVE命令来生成RDB文件,这个生成操作会耗费主服务器大量的CPU、内存和磁盘I/O资源;
主服务器需要将自己生成的RDB文件发送给从服务器,这个发送操作会耗费主从服务器大量的网络资源(带宽和流量),并对主服务器响应命令请求的时间产生影响;
接收到RDB文件的从服务器需要载入主服务器发来的RDB文件,并且在载入期间,从服务器会因为阻塞而没办法处理命令请求。

Redis从2.8版本开始,使用PSYNC命令代替SYNC命令来执行复制时的同步操作。

PSYNC命令具有完整重同步(full resynchronization)和部分重同步(partial resynchronization)两种模式:

其中完整重同步用于处理初次复制情况:完整重同步的执行步骤和SYNC命令的执行步骤基本一样,它们都是通过让主服务器创建并发送RDB文件,以及向从服务器发送保存在缓冲区里面的写命令来进行同步;
而部分重同步则用于处理断线后重复制情况:当从服务器在断线后重新连接主服务器时,如果条件允许,主服务器可以将主从服务器连接断开期间执行的写命令发送给从服务器,从服务器只要接收并执行这些写命令,就可以将数据库更新至主服务器当前所处的状态。

限制:master的写能力没办法改变已经是上限了
slaver的扩容会造成性能的损耗,最好避免在运行时期扩容
master的磁盘容量大小(就是存储容量)

在这里插入图片描述
2:哨兵模式,就是一个特殊的主从复制模式,

工作机制:让哨兵作为一个独立的进程,独立运行,通过其发送命令等待redis服务器响应,从而求监控运行的多个redis实例,当哨兵检测到master挂了的时候,就会让一个slave切换成master,通过发布订阅模式通知其他的从服务器,切换到这个新的master主机
如果后期之前的master主机恢复了,那么哨兵就会让它作为一个slaver,继续使用之前的新的master

不好支持在线扩容,当集群容量达到上限时很难扩容
在这里插入图片描述
3:Redis-Cluster集群,实现了redis的分布式存储,每个redis节点上存储了不同的内容

工作机制:使用多台服务器构成一个集群,每个服务器存储了不同的信息,每个服务器的节点也给予了主从复制特特点,一个master(主节点),无数个slaver(从节点),
在这里插入图片描述
redis的读取方式:
每个节点都有两个组件,一个是slot,一个是cluster(管理组件)
他是通过crc16算法做一系列计算得到某个值与slot进行匹配,然后绑定到响应的node节点上,node节点的slot是平均分配的,如果有3个node节点,就会将slot平均分成三份,如果其中的一个节点崩了,那么此节点的slot就会平均分配给另外两个节点继续完成任务,slot其实就是索引,redis是通过这个索引来管理数据的
在这里插入图片描述

您可能感兴趣的文档:

--结束END--

本文标题: redis的三种部署方式和数据读取方式

本文链接: https://www.lsjlt.com/news/7709.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • redis的三种部署方式和数据读取方式
    redis redis的三种部署方式 1:主从复制,就是每台机器都是一样的,这种部署方式每台服务器都会向主服务器同步自己的数据,所以其中的数据内容是相同的 工作机制:从服务器连接到主服务器发送SYNC命令,主服务器接收命...
    99+
    2017-03-18
    redis的三种部署方式和数据读取方式
  • redis三种高可用方式部署的实现
    前言 一、主从复制 概念 和mysql的主从复制一样 都是将服务器的数据复制到另一个数据库中 发送的称为master 接受的叫slave 数据为单向传输 只可以主到从 每台Redis...
    99+
    2022-11-12
  • Windows部署Jar包的三种方式
    文章目录 1、cmd命令启动2、bat脚本启动2.1 启动jar包2.2 关闭服务 3、使用WinSW3.1 重命名3.2 xml配置3.3 安装服务3.4 卸载服务3.5 启动和停止服务 1、cmd命...
    99+
    2023-08-18
    jar windows java WinSW
  • Node.js读取文件的三种方式
    本篇内容介绍了“Node.js读取文件的三种方式”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!学习 Nod...
    99+
    2022-10-19
  • Tomcat部署web项目的三种方式
    Tomcat部署web项目的三种方式 方式一 利用Tomcat的自动部署,直接将IDE工具打包好的war包,放在tomcat的webapps目录下面,启动tomcat即可 方式二 在conf/serv...
    99+
    2023-10-20
    tomcat 前端 java
  • Pandas提取数据的三种方式
    目录前言Pandas读取数据的几种方式1. read_csv2. read_excel3. read_sql前言 快期末了,数据挖掘的大作业需要用到python的相关知识(这太难为我...
    99+
    2023-01-16
    Pandas 提取数据
  • Redis的两种安装部署方式介绍
    本篇内容介绍了“Redis的两种安装部署方式介绍”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1、Linu...
    99+
    2022-10-18
  • python读取测试数据的多种方式
    目录一、通过创建.ini或.conf文件读取二、通过yaml文件读取三、通过excel读取一、通过创建.ini或.conf文件读取 1、创建一个config.ini或者.conf文...
    99+
    2022-11-12
  • 详细讲解 Redis 的两种安装部署方式
    Redis 是一款比较常用的 NoSQL 数据库,我们通常使用 Redis 来做缓存,这是一篇关于 Redis 安装的文章,所以不会涉及到 Redis 的高级特性和使用场景,Redis 能够兼容绝大部分的 POSIX 系统,例如 Linux...
    99+
    2022-02-17
    详细讲解 Redis 的两种安装部署方式
  • 数据传输的三种方式
    在通信和计算机网络中,从通信资源的分配角度来看,“交换”就是按照某种方式动态地分配传输线路的资源。常用的数据传输方式有电路交换、报文交换、分组交换。 电路交换 特点: 通信双方独占通信链路 优点: ...
    99+
    2023-09-20
    网络 服务器 运维
  • mysql、sqlserver和oracle三种数据库的大对象存取方式
    本篇内容主要讲解“mysql、sqlserver和oracle三种数据库的大对象存取方式”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“mysql、sqlserv...
    99+
    2022-10-18
  • MySQL删除数据的三种方式
    MySQL删除数据有以下三种方式:1. 使用DELETE语句:使用DELETE语句可以删除表中的一条或多条数据。语法如下:D...
    99+
    2023-09-22
    MySQL
  • SAP Fiori应用的三种部署方式分别是什么
    本篇文章为大家展示了SAP Fiori应用的三种部署方式分别是什么,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。封面图片来自Google搜索,关键字: Fiori Deployment方式1 On ...
    99+
    2023-06-04
  • go按行读取文件的三种实现方式汇总
    目录1. 使用ioutil读取文本2. 使用bufio.Reader的ReadLine读取3.使用bufio.Scanner读取总结1. 使用ioutil读取文本 // 全...
    99+
    2022-11-11
  • Go语言读取文本文件的三种方式总结
    目录1 逐行读取文本文件2 逐个单词读取文本文件测试代码3 逐个字符读取文本文件总结工作中时不时需要读取文本,文本文件是最常见的文件类型。 本文将从逐行、逐个单词和逐个字符三个方法读...
    99+
    2023-01-12
    Go语言读取文本文件 Go语言读取文件 Go读取文本文件
  • Android XML数据的三种解析方式
    本篇文章包含以下内容:      XML数据的Dom解析      XML数据的Sax解析 &n...
    99+
    2022-06-06
    XML Android
  • MySQL数据库备份的三种方式
    为什么要数据库备份? a 保证重要的数据不丢失 b 数据转移   MYSQL数据库备份的方式1、直接拷贝物理文件(D:\Software\mysql-8.0.28-winx64\data中拷贝)2、在sqlyog这种可视化工具中手动导出(点...
    99+
    2023-09-04
    数据库 mysql
  • Mybatis三种批量插入数据的方式
    目录1. 循环插入 2. foreach标签 3. 批处理 三种方式的对比 1. 循环插入 mapper.xml: <?xml version="1.0" enc...
    99+
    2022-11-12
  • Tomcat配置JNDI数据源的三种方式
    在我过去工作的过程中,开发用服务器一般都是Tomcat 数据源的配置往往都是在applicationContext.xml中配置一个dataSource的bean 然后在部署时再修改...
    99+
    2022-11-12
  • 详解mysql数据去重的三种方式
    目录一、背景二、数据去重三种方法使用1.​通过MySQL DISTINCT:去重(过滤重复数据)2.group by3.row_number窗口函数三、总结一、背景 最近在和系统模块...
    99+
    2022-11-13
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作