Redis多机功能目的:以单台Redis服务器过渡到多台Redis服务器

Redis单机在生产环境中存在的问题

1、内存容量不足

Redis使用内存来存书数据库中的数据,但是对于一台机器来说,硬件的内存容量是有限的,当我们需要存储的数据量超过机器的内存数量时,一台服务器就没办法满足我们的要求;

比如:要存储128G的数据,但是机器最大只支持64G内存;

2、处理能力不足

和内存数量限制类似。由于服务器硬件的限制(机器配置/网络限制等),一台服务器能够处理的命令请求数量也是有限的,当我们需要处理的命令请求数量超过机器能够处理的命令请求数量时,一台服务器就没办法满足我们的要求了;

例子:每秒要处理20W次请求,但机器每秒钟只能处理10W次请求;

解决方案

为了解决内存容量不足和处理能力不足的问题,我们需要使用Redis的多机功能,这些功能的核心目的是将整个数据库分散部署在多台服务器上,并使用多台服务器来处理命令请求

例如:

Redis单机模式:ClientA/ClientB/ClientC都请求ServerA;

Redis多机模式:ClientA请求ServerA;ClientB请求ServerB;ClientC请求ServerC;

将系统从一台服务器扩展到三台服务器,系统存储的数据量和处理的命令请求数量都会有所提高;

Redis多机功能具体实现

Redis提供的多机功能包括:

1、复制(replication):扩展系统处理请求的能力;

2、Sentinel:为系统提供高可用特性,减少故障停机出现;

3、集群(Cluster):扩展系统的数据库容量以及系统处理读写请求的能力,并提供高可用特性;

4、twemproxy:twitter开源的一个代理服务器,支持Redis和Memcached协议,可以扩展系统的数据库容量以及系统处理读写请求的能力;

Redis多机功能介绍的更多相关文章

  1. Redis多机功能之复制

    复制的目的:创建具有相同数据库的拷贝服务器:扩展系统处理读请求的能力: 复制的定义 Redis的复制(replication)功能允许用户根据一个Redis服务器来创建任意多个该服务器的复制品,其中被 ...

  2. Redis多机功能总结

    1.通过Redis的复制功能,用户可以创建指定服务器的任意多个复制品,每个复制品服务器和被复制的原服务器拥有相同的数据: 2.通过将读请求分散给多个从服务器处理,用户可以减少主服务器在处理读请求方面的 ...

  3. Redis多机功能之Sentinel

    Sentinel的目的:监视主从服务器,并在主服务器下线时自动进行故障转移 启动Sentinel 通过执行Redis安装文件中的redis-sentinel程序,可以启动一个Sentinel实例: r ...

  4. redis常用指令总结以及功能介绍

    第一部分 redis的常用指令 一.针对key的操作 1.1 del key [key .. ]                 , 删除指定的一个或者多个key;1.2 dump key       ...

  5. 【视频开发】【电子电路技术】监控球机PTZ的功能介绍

    主要分模拟球机和网络球机两种 1.模拟球机 模拟球机除了需要接电源外,还需要接视频线和485控制线才能实现视频传输和云台控制,并且需要配置波特率,地址位和协议. 升级版:HDTVI球机 ① 同轴视控. ...

  6. Redis的各项功能解决了哪些问题?

    先看一下Redis是一个什么东西.官方简介解释到:Redis是一个基于BSD开源的项目,是一个把结构化的数据放在内存中的一个存储系统,你可以把它作为数据库,缓存和消息中间件来使用.同时支持string ...

  7. Redis 集群方案介绍

    由于Redis出众的性能,其在众多的移动互联网企业中得到广泛的应用.Redis在3.0版本前只支持单实例模式,虽然现在的服务器内存可以到100GB.200GB的规模,但是单实例模式限制了Redis没法 ...

  8. 4个点让你彻底明白Redis的各项功能

    前言 先看一下Redis是一个什么东西.官方简介解释到: Redis是一个基于BSD开源的项目,是一个把结构化的数据放在内存中的一个存储系统,你可以把它作为数据库,缓存和消息中间件来使用.同时支持st ...

  9. 【转】Redis的各项功能解决了哪些问题?

    作者:Blackheart 出处:http://linianhui.cnblogs.com 先看一下Redis是一个什么东西.官方简介解释到:Redis是一个基于BSD开源的项目,是一个把结构化的数据 ...

随机推荐

  1. Java 权限修饰符

    Java应用有很多类,但有些类并不希望被其他类使用.每个类中都有数据成员和方法成员,但是并不是每个数据和方法,都允许在其他类中调用.如何能做到访问控制呢?就需要使用访问权限修饰符. Java语言中的访 ...

  2. 响应式布局设置--@media only screen and

    @media only screen and  only(限定某种设备) screen 是媒体类型里的一种 and 被称为关键字,其他关键字还包括 not(排除某种设备) /* 常用类型 */类型 解 ...

  3. 剑指offer系列26--正则表达式匹配

    [题目]请实现一个函数用来匹配包括’.’和’*‘的正则表达式.模式中的字符’.’表示任意一个字符,而’‘表示它前面的字符可以出现任意次(包含0次). 在本题中,匹配是指字符串的所有字符匹配整个模式.例 ...

  4. 【并发编程】AQS学习

    一个简单的示例: package net.jcip.examples; import java.util.concurrent.locks.*; import net.jcip.annotations ...

  5. 无法找到类:java.lang.ClassNotFoundException: com.tt.javaweb.HttpServletRequest问题解决

    问题如下:找不到Httpservlet对应的Class,进入build目录下发现确实没有对应的class文件. 严重: Allocate exception for HttpServletReques ...

  6. Spring进阶之路(1)-Spring核心机制:依赖注入/控制反转

    原文地址:http://blog.csdn.net/wangyang1354/article/details/50757098 我们经常会遇到这样一种情景,就是在我们开发项目的时候经常会在一个类中调用 ...

  7. VS 使用Sql Server 数据库增删改查

    /// <summary> /// 执行查询语句,返回DataSet /// </summary> /// <param name="SQLString&quo ...

  8. 静态HTML页面不缓存js文件的方法

    今天做项目时候遇到一个问题,由于采用了生成静态的CMS系统,但是页面头部需要显示用户登录的信息,也就是,没有登录时,显示登录框,用户登录后,则显 示登录信息.于是用到了js调用php文件的方法.但是由 ...

  9. 黄聪:C#图片处理封装类(裁剪、缩放、清晰度、加水印、生成缩略图)有示例(转)

    C#图片处理示例(裁剪,缩放,清晰度,水印) 吴剑 2011-02-20 原创文章,转载必需注明出处:http://www.cnblogs.com/wu-jian/ 前言 需求源自项目中的一些应用,比 ...

  10. CXF发布restful WebService的入门例子(客户端)

    上篇说了怎么用cxf发布restful webservice,由于浏览器只能对该service发送http的GET请求,所以如果想对服务器上的数据,还需要实现客户端. 客户端的实现方式有无数种...可 ...