一 单机版

分析:

无论多少用户,都访问这一台服务器 。服务器一旦挂了,所有用户都无法访问。风险很大,一般不会有人使用。

二 主从模式(master/slaver)

分析:

主从模式中,

无论多少用户,都访问这一台服务器。主服务器有读写的能力,从服务器一般只有读的能力。从服务器会定时或在满足一定条件时同步主服务器的数据。这样可以保证数据的安全性。

主服务器一旦崩溃。将不再向用户提供服务。从服务器如果崩溃,将不会影响主服务器和其他从服务器的正常运行。

三 sentinel模式

分析:

此种模式下用户访问的是sentinel服务器,sentinel服务器会将请求发给redis主服务器,从服务器会同步主服务器的数据。

如果sentinel服务器崩溃,则无法直接向用户提供服务。

如果redis主服务器崩溃,sentinel会检测到。并在redis的从服务器中选择一个将其升级为主服务器。从而保证继续提供服务。

四 cluster模式

分析:

首先需要引入一个叫【槽位】的名词,槽位的范围是0~16384。每个key都会通过计算规则得到唯一的槽位值。

如上图所示,redis一共有两台主服务器,每台主服务器有两台从服务器。

redis1的槽位值为0~100,redis2的槽位值为101~16384。

举个例子 ,用户做了sey(k1,v1);的操作。 服务器的处理过程是:先计算k1的槽位置,得到结果为4568。根据此槽位置所处的服务器。服务器会将此操作分配到Redis2的主服务器上。所以redis2上会执行sey(k1,v1)的操作,redis2下面的从服务器会进行同步数据的操作。

其他分析:

此模式支持灵活扩展,可以添加或移除redis主服务器。主服务器之间不允许存在相同的槽位值。所有主服务器槽位值的并集应该是0~16384;

每台redis主服务器和其从服务器都是一个小集群。当一台主服务器崩溃时。系统会选择一个从服务器将其升级为redis主服务器。

Redis的几种集群方式分析的更多相关文章

  1. redis的三种集群方式

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

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

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

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

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

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

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

  5. Redis 的 3 种集群方案对比

    数据持久化 主从复制 自动故障恢复 集群化 数据持久化本质上是为了做数据备份,有了数据持久化,当Redis宕机时,我们可以把数据从磁盘上恢复回来,但在数据恢复之前,服务是不可用的,而且数据恢复的时间取 ...

  6. 架构师必备:Redis的几种集群方案

    结论 有以下几种Redis集群方案,先说结论: Redis cluster:应当优先考虑使用Redis cluster. codis:旧项目如果仍在使用codis,可继续使用,但也推荐迁移到Redis ...

  7. 三种Tomcat集群方式的优缺点分析

    三种Tomcat集群方式的优缺点分析 2009-09-01 10:00 kit_lo kit_lo的博客 字号:T | T 本文对三种Tomcat集群方式的优缺点进行了分析.三种集群方式分别是:使用D ...

  8. Spring-Session实现Session共享Redis集群方式配置教程

    循序渐进,由易到难,这样才更有乐趣! 概述 本篇开始继续上一篇的内容基础上进行,本篇主要介绍Spring-Session实现配置使用Redis集群,会有两种配置方式,一种是Redis-Cluster, ...

  9. 超详细,多图文介绍redis集群方式并搭建redis伪集群

    超详细,多图文介绍redis集群方式并搭建redis伪集群 超多图文,对新手友好度极好.敲命令的过程中,难免会敲错,但为了截好一张合适的图,一旦出现一点问题,为了好的演示效果,就要从头开始敲.且看且珍 ...

随机推荐

  1. Ansible playbook Vault 加密

    Ansible playbook Vault 加密详解与使用案例 主机规划 添加用户账号 说明: 1. 运维人员使用的登录账号: 2. 所有的业务都放在 /app/ 下「yun用户的家目录」,避免业务 ...

  2. Linux 日常操作

    Linux 日常操作 */--> Linux 日常操作 Table of Contents 1. 查看硬件信息 1.1. 服务器型号序列号 1.2. 主板型号 1.3. 查看BIOS信息 1.4 ...

  3. 使用cat命令清空文件

    比如要清空 /www/aaa.txt cat /dev/null > /www/aaa.txt; 即可.

  4. wincache 与 zend guard 的冲突

    ZendLoader.dll 与wincache.dll  同时开启 问题分析:zend与wincache冲突 解决方法: 关掉wincache: 在php.ini中的 extension=php_w ...

  5. cocos2d 导演,场景

    导演(Director) Cocos2d-x 使用导演的概念,这个导演和电影制作过程中的导演一样!导演控制电影制作流程,指导团队完成各项任务.在使用 Cocos2d-x 开发游戏的过程中,你可以认为自 ...

  6. Fedora 21下lingo14配置

    Install lingo14 during Fedora 21 The first step:Download lingo14Download address:http://www.lindo.co ...

  7. Django 内置分页的简单使用

    1, 文档 https://docs.djangoproject.com/en/1.11.1/topics/pagination/ 2,视图 from django.core.paginator im ...

  8. 使用 html5 FileReader 获取图片, 并异步上传到服务器 (不使用 iframe)

    为什么80%的码农都做不了架构师?>>>   原理: 1.使用FileReader 读取图片的base64编码 2.使用ajax,把图片的base64编码post到服务器. 3.根据 ...

  9. 新手上路:Laravel-控制器基础

    1.控制器在哪 Controller目录默认存放于app\Htpp\Controllers下,当然,你可以自定义这个目录: Controllers文件夹有一个控制器基类Controller.php,你 ...

  10. log4j MDC NDC详解

    NDC ( Nested Diagnostic Context )和 MDC ( Mapped Diagnostic Context )是 log4j 种非常有用的两个类,它们用于存储应用程序的上下文 ...