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. [Node.js] 08 - Web Server and REST API

    有了 [Node.js] 07 - Html and Http 作为基础,再继续下面的内容. Node.js 路由 Node.js GET/POST请求 Node.js Web 模块 Node.js ...

  2. 《objective-c基础教程》学习笔记 (一)—— 开发环境配置和简单类型输出

    懒惰是富有最大的敌人,再不前进,我们就out了.最近工作比较轻松,不是很忙.于是想晚上下班回家学习点新东西.看着苹果大军的一天天壮大,心里也是痒痒的.于是就想先系统的学习下Objective-C,为之 ...

  3. cocos2d-x游戏引擎核心(3.x)----事件分发机制之事件从(android,ios,desktop)系统传到cocos2dx的过程浅析

    (一) Android平台下: cocos2dx 版本3.2,先导入一个android工程,然后看下AndroidManifest.xml <application android:label= ...

  4. HTML head 头标签(转)

    HTML head 头部分的标签.元素有很多,涉及到浏览器对网页的渲染,SEO 等等,而各个浏览器内核以及各个国内浏览器厂商都有些自己的标签元素,这就造成了很多差异性.移动互联网时代,head 头部结 ...

  5. ubuntu下安装Python3

    到www.python.org网站下载python3.3.2 Gzipped source tar ball (3.3.2) (sig), ~ 16 MB 解压tar vxzf Python3.3.2 ...

  6. fclose函数无响应

    现象:win32程序在退出时无响应,当一步步跟踪代码时走到fclose. 原因:打开文件在一个线程中,写文件时在另一个线程,在open和write文件时均正常,只有在fclose时出现无响应. 解决: ...

  7. xshell连接Linux、ngix部署

    Linux端安装sshd服务(openssh-server) 查看防火墙:ufw(Linux默认安装了) 再就是客户端了.. 平时在测试环境下的项目不能承载高并发,需要部署到web server上.w ...

  8. 文件二进制与String相互转换

    //转换base64 OpenFileDialog dialog = new OpenFileDialog(); //dialog.Filter = "所有文件(*.*)|*.*" ...

  9. 洛谷 P1223排队接水【贪心】

    题目描述 有n个人在一个水龙头前排队接水,假如每个人接水的时间为Ti,请编程找出这n个人排队的一种顺序,使得n个人的平均等待时间最小. 输入输出格式 输入格式: 输入文件共两行,第一行为n:第二行分别 ...

  10. nowcoder 206A - Birthday - [最小费用最大流]

    题目链接:https://www.nowcoder.com/acm/contest/206/A 题目描述 恬恬的生日临近了.宇扬给她准备了一个蛋糕.正如往常一样,宇扬在蛋糕上插了n支蜡烛,并把蛋糕分为 ...