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] Framework Analysis of nftSimple

    What is nftSimple? Loads NFT dataset names from a configuration file. The example uses the “Pinball. ...

  2. SpringBoot Logback配置,SpringBoot日志配置

    SpringBoot Logback配置,SpringBoot日志配置  SpringBoot springProfile属性配置 ================================ © ...

  3. python-docx 设置标题heading的中文字体类型+设置正文的中文字体类型

    依赖包: from docx import Document from docx.shared import Pt from docx.shared import Inches from docx.o ...

  4. Oracle中add_months()函数的用法

    查询当前时间1个月以前的时间: select add_months(sysdate,-1) from dual; 查询当前时间1个月以后的时间: select add_months(sysdate,1 ...

  5. android基础---->XMl数据的解析

    在网络上传输数据时最常用的格式有两种,XML和JSON,下面首先学一下如何解析XML格式的数据,JSON的解析可以参见我的博客(android基础---->JSON数据的解析).解析XML 格式 ...

  6. 欢迎访问新博客(pfzheng.tech)

    这两天折腾了几天的服务器,搞了一个临时的个人博客. 最先入手的域名pfzheng.tech,但是发现竟然不支持备案.天哪,我做错了什么,只好再买域名.新域名pfzheng.cn正在备案中. 新博客基于 ...

  7. [原]CentOS 7 网卡子接口的创建

    OS:CentOS 7 在linux上创建vlan需要加载802.1q模块: 1.检测OS是否已经加载802.1q模块 [root@controller ~]# modinfo 8021q filen ...

  8. linux-Centos 7下bond与vlan技术的结合

    服务器eno1与eno2作bonding,捆绑成bond0接口,服务器对端交换机端口,同属于301.302号vlan接口 vlan 301: 10.1.2.65/27                  ...

  9. 6.25python线程问题

    #encoding=utf-8 #2018-6-25 20:34:48 #解决耦合的问题#用队列解决这种问题,起到了缓冲的作用 import threading import time # #pyth ...

  10. G - Supermarket

    A supermarket has a set Prod of products on sale. It earns a profit px for each product x∈Prod sold ...