Redis介绍

开源 内存存储 数据结构存储  1.字符串(数字)    2.列表    3.hash    4.set 集合   5.sorted set 有序集合

用途 :数据库  缓存  消息队列(发布和订阅)

内建主从复制,自动进行分片完成数据分布式存储

单进程  cpu资源占用率小  主要是占用内存资源

Redis持久化

RDB:snapshotting, 二进制格式;按事先定制的策略,周期性地将数据从内存同步至磁盘;数据文件默认为dump.rdb;
                   客户端显式使用SAVE或BGSAVE命令来手动启动快照保存机制;
                   SAVE:同步,即在主线程中保存快照,此时会阻塞所有客户端请求;
                   BGSAVE:异步;backgroud
       AOF:Append Only File, fsync
                记录每次写操作至指定的文件尾部实现的持久化;当redis重启时,可通过重新执行文件中的命令在内存中重建出数据库;
                BGREWRITEAOF:AOF文件重写;
               不会读取正在使用AOF文件,而是通过将内存中的数据以命令的方式保存至临时文件中,完成之后替换原来的AOF文件;

sentinel

主要完成三个功能:监控、通知、自动故障转移

选举:流言协议、投票协议

分布式集群理论

CAP理论
       C     多个节点上的数据保持一致
       A     客户发送请求后能否在接受的时间内得到响应结果
       P     网络发生分区(脑裂)后服务是否依然可用

BASE理论

BA        基本可用
       S          柔性事务 即状态可以在一个时间窗口内是不同步的
       E          最终一致性

不适合对事务要求高的场景

集群的构建方式

1.有中心节点

把中心节点的数据存储到共享存储系统    适合大规模集群         中心节点存储的是集群中每个节点的元数据信息

共享的存储系统:      zookeeper       consul        etcd

2.无中心节点

集群中每个节点都存储整个集群的元数据信息  不适合大规模集群

Redis主从复制

不能提升写数据的效率     存储能力也没有扩展

对数据做了冗余备份   可以提供读写分离机制

Redis集群

水平扩展 redis服务端的性能,扩展redis数据库的存储能力  自带集群分片技术

集群中每个服务器上存储的数据都是不一致的,每个节点的宕机都会导致一部分数据的丢失  所以必须对集群中的每个节点做数据冗余备份(主从同步)

访问Redis集群中的数据必须使用智能客户端,否则在向redis集群服务器中读写数据的时候会提出错误 redis服务器可能会返回数据不在本机 需要客户端自己向数据所在的redis服务器再次发起请求获取数据

分片技术介绍

将数据进行拆分,将数据水平的分散到不同的服务器上
     id   1-2000               node1
     id   20001-5000       node2

分片片键
        在需要分片的表中选一个字段,用这个字段的值作为数据拆分的依据

为了实现在集群中方便随时移除和添加后端服务器,在调度器上保存的不是分片信息和服务器之间的对应关系,而是保存的hash片键和分片之间的关系 当后端服务器发生变动的时候只需要修改分片和服务器的映射关系即可 客户端不再关心底层的服务器是否发生变化

Redis集群生产环境架构

Redis基本管理的更多相关文章

  1. 几款开源的图形化Redis客户端管理软件

    转载于:http://www.itxuexiwang.com/a/shujukujishu/redis/2016/0216/98.html?1455870209 Redis是一个超精简的基于内存的键值 ...

  2. Redis桌面管理工具 RedisDesktopManager

    下载链接地址:[官网地址:https://redisdesktop.com] redis-desktop-manager-0.8.8.384.exe Source code (zip) Source ...

  3. 几款开源的图形化Redis客户端管理软件推荐

    Redis是一个超精简的基于内存的键值对数据库(key-value),一般对并发有一定要求的应用都用其储存session,乃至整个数据库.不过它公自带一个最小化的命令行式的数据库管理工具,有时侯使用起 ...

  4. PyRedisAdmin v1.0 Beta 发布,Redis 在线管理工具 - 开源中国社区

    PyRedisAdmin v1.0 Beta 发布,Redis 在线管理工具 - 开源中国社区 PyRedisAdmin v1.0 Beta 发布,Redis 在线管理工具

  5. Redis 内存管理与事件处理

    1 Redis内存管理 Redis内存管理相关文件为zmalloc.c/zmalloc.h,其只是对C中内存管理函数做了简单的封装,屏蔽了底层平台的差异,并增加了内存使用情况统计的功能. void * ...

  6. Redis 桌面管理器

    使用Redis桌面管理器,可以方便开发人员进行开发测试,对Redis存储内容进行可视化管理. 下载安装:https://redisdesktop.com/download 1. 为了方便测试,打开re ...

  7. 安装window下的redis,redis可视化管理工具(Redis Desktop Manager)安装,基础使用,实例化项目

    以下包括内容: 一.redis下载安装,启动 二.Redis可视化管理工具(Redis Desktop Manager)安装 三.实例化项目 一.redis下载安装,启动 1,redis官方下载地址: ...

  8. redis : 桌面管理工具 redis-desktop-manager使用指南

    概要:一款好用的Redis桌面管理工具,支持命令控制台操作,以及常用,查询key,rename,delete等操作. 下载软件,请点击下面链接,进入下载页,选择对应版本: https://redisd ...

  9. redis桌面管理工具 redis-desktop-manager使用指南(转)

    版权声明:转自 http://blog.csdn.net/li396864285/article/details/54629898     概要:一款好用的Redis桌面管理工具,支持命令控制台操作, ...

  10. Redis键管理

    Redis键管理 Redis 键命令用于管理 redis 的键. 语法 Redis 键命令的基本语法如下: redis > COMMAND KEY_NAME redis > SET w3c ...

随机推荐

  1. [Artoolkit] Marker of nftSimple

    重点看:markers.dat 的解析原理 1. int main(int argc, char** argv) { ]; const char *cparam_name = "Data2/ ...

  2. SpringBoot Docker Mysql安装,Docker安装Mysql

    SpringBoot Docker Mysql安装,Docker安装Mysql ================================ ©Copyright 蕃薯耀 2018年4月8日 ht ...

  3. 查询Array中确定数值的对象&JS linq使用 = linq.js

    var x=new Array(); x.push({"a":3,"b":3},{"a":2,"b":2},{" ...

  4. 【SpringCloud微服务实战学习系列】客户端负载均衡Spring Cloud Ribbon

    Spring Cloud Ribbon是一个基于HTTP和TCP的客户端负载均衡工具,它基于Netflix Ribbon实现.通过Spring Cloud的封装,可以让我们轻松地将面向服务的RES模板 ...

  5. Android手机用KSWEB搭建Web服务器成功安装WordPress

    之前部落分享的几个免费Web服务器软件都是用来安装在本地电脑上,搭建Apache.PhpMyAdmin.MySQL等网站运行环境,然后我们就可以在电脑上测试运行Wordpress.Discuz! 论坛 ...

  6. 23种设计模式之原型模式(Prototype)

    在系统开发过程中,有时候有些对象需要被频繁创建,原型模式通过给出一个原型对象来指明所要创建的对象的类型,然后通过复制这个原型对象的办法,创建出更多同类型的对象.原型模式是一种对象创建型模式,用原型实例 ...

  7. exec vs sp_executesql

    1.exec  vs  sp_executesql 1.1 说到exec了解SQLServer的朋友第一反应应该是它用来执行存储过程,对的这是其一,另一个作用是执行一个动态批处理.总结下:a.执行一个 ...

  8. 别致的语言GO(GO语言初涉)

    最近由于各种原因(好吧,其实是犯懒)已经许久没有再写新的博文了!最近正好在学习一门新的语言,所以正好记录一下自己的学习成果!最近利用每天晚上下班回来后的几小时,学习了Google开发的Go语言,算是对 ...

  9. IDEA中将WEB-INF\lib下的Jar包添加到项目中

    打开Project Structure[可以使用快捷键:Ctrl+Alt+Shift+S]左侧选中Modules,在Dependecies中,点击右侧“+”号,选择JARS or directorie ...

  10. WordPlayer

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.D ...