redis介绍

1、什么是NoSQL

  NoSQL(统称),泛指非关系型的数据库,NoSQL即Not-Only SQL,它可以作为关系型数据库的良好补充。

2、NoSQL数据库的四大分类如下:

  键值(Key-Value)存储数据库
  相关产品: Tokyo Cabinet/Tyrant、Redis、Voldemort、Berkeley DB
  典型应用: 内容缓存,主要用于处理大量数据的高访问负载。
  数据模型: 一系列键值对
  优势: 快速查询
  劣势: 存储的数据缺少结构化

  列存储数据库
  相关产品:Cassandra, HBase, Riak
  典型应用:分布式的文件系统
  数据模型:以列簇式存储,将同一列数据存在一起
  优势:查找速度快,可扩展性强,更容易进行分布式扩展
  劣势:功能相对局限
  文档型数据库

  相关产品:CouchDB、MongoDB
  典型应用:Web应用(与Key-Value类似,Value是结构化的)
  数据模型: 一系列键值对
  优势:数据结构要求不严格
  劣势: 查询性能不高,而且缺乏统一的查询语法

  图形(Graph)数据库
  相关数据库:Neo4J、InfoGrid、Infinite Graph
  典型应用:社交网络
  数据模型:图结构
  优势:利用图结构相关算法。
  劣势:需要对整个图做计算才能得出结果,不容易做分布式的集群方案。

3、什么是redis

  redis是将数据存放到内存中,由于内容存取速度快所以redis被广泛应用在互联网项目中,
  redis有点:存取速度快,官方称读取速度会达到30万次每秒,写速度在10万次每秒最有,具体限制于硬件.
  缺点:对持久化支持不够良好,
  所以redis一般不作为数据的主数据库存储,一般配合传统的关系型数据库使用.

  Redis是用C语言开发的一个开源的高性能键值对(key-value)数据库。它通过提供多种键值数据类型来适应不同场景下的存储需求,

  目前为止Redis支持的键值数据类型如下:

  字符串类型(String)
  散列类型(Hash)  redis中使用的是双向循环链表来实现的list,在redis中更像栈
  列表类型(List)  一般应用于将redis作为分布式缓存,存储数据库中的数据对象
  集合类型(Set)  set中数据是无序的并且不允许重复
  有序集合类型。(zset)   redis会根据分数自动排序,这里可以使用在学生成绩排序,
或者是手机应用商店流行软件排名等需求中

4、redis的应用场景

  1)、适合高并发、数据量大的情况下

  2)、分布式缓存

  3)、分布式session

5、Redis 持久化 

  rdb:可以设置间隔多长时间保存一次(Redis不用任何配置默认的持久化方案,在redis同目录下会产生个后缀名(rdb)的文件,持久化数据就放到该文件中)
    优点:让redis的数据存取速度变快
    缺点:服务器断电时会丢失部分数据(数据的完整性得不到保证)

  aof:可以设置实时保存(和rdb一样,持久化数据放到该后缀(aof)文件中)
    优点:持久化良好,能包装数据的完整性
    缺点:大大降低了redis系统的存取速度

6、主从复制

  1、从服务器和主服务器 互相认识对方 主服务器 知道 谁是我的从服务器

  2、然后主服务器将rdb该文件发送到从服务器中

    1)、当主从服务器互相都知晓的时候,

      从服务器会一直不间断的对主服务器发ping命令(意思就是问主服务器你还活着吗?)

        主服务器会回复pang命令(意思:我还活着)

        当从服务器发送ping命令 主服务器没任何反应的时候 那么证明主服务器挂了 从服务器上位

      从服务器上位之后 不容许进行CRUD操作 那样会导致数据的不同步

  3、当主服务器进行CRUD操作,将该命令发送到从服务器中,从服务器执行同样命令

进阶-Redis 知识梳理的更多相关文章

  1. 进阶-JMS 知识梳理

    JMS 一. 概述与介绍 ActiveMQ 是Apache出品,最流行的.功能强大的即时通讯和集成模式的开源服务器.ActiveMQ 是一个完全支持JMS1.1和J2EE 1.4规范的 JMS Pro ...

  2. 进阶-MongoDB 知识梳理

    MongoDB 一.MongoDB简介 MongoDB是一个高性能,开源,无模式的文档型数据库,是当前NoSql数据库中比较热门的一种.它在许多场景下可用于替代传统的关系型数据库或键/值存储方式.Mo ...

  3. C#基础知识梳理索引

    C#基础知识梳理索引 一 引子 之前曾写了一篇随笔<.NET平台技术体系梳理+初学者学习路径推荐+我们的愿景与目标> 三个月过去了,目标使更多的编程初学者,轻松高效地掌握C#开发的基础,重 ...

  4. MySQL 基础知识梳理

    MySQL 的安装方式有多种,但是对于不同场景,会有最适合该场景的 MySQL 安装方式,下面就介绍一下 MySQL 常见的安装方法,包括 rpm 安装,yum 安装,通用二进制安装以及源码编译安装, ...

  5. [Redis知识体系] 一文全面总结Redis知识体系

    本系列主要对Redis知识体系进行详解.@pdai Redis教程 - Redis知识体系详解 知识体系 学习资料 知识体系 知识体系 相关文章 首先,我们通过学习Redis的概念基础,了解它适用的场 ...

  6. Vue基础开发入门之简单语法知识梳理(思维导图详解)

    基于个人写的以下关于Vue框架基础学习的三篇随笔,在此基础上,做一个阶段性的知识总结,以此来检验自己对Vue这一段时间学习的成果,内容不多,但很值得一看.(思维导图详解)

  7. [SQL] SQL 基础知识梳理(一)- 数据库与 SQL

    SQL 基础知识梳理(一)- 数据库与 SQL [博主]反骨仔 [原文地址]http://www.cnblogs.com/liqingwen/p/5902856.html 目录 What's 数据库 ...

  8. [SQL] SQL 基础知识梳理(二) - 查询基础

    SQL 基础知识梳理(二) - 查询基础 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5904824.html 序 这是<SQL 基础知识梳理( ...

  9. [SQL] SQL 基础知识梳理(三) - 聚合和排序

    SQL 基础知识梳理(三) - 聚合和排序 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5926689.html 序 这是<SQL 基础知识梳理 ...

随机推荐

  1. (九)UIScrollView和PageControl的分页

    涉及到内容的滚动与拖拽,使用UIScrllView. 对于滚动的多张图片,由于超出屏幕,应该使用代码添加代码. 添加的细节是:图片的宽高即为滚动视图的宽高,图片的y=0,x=图片的序号乘以图片的宽度. ...

  2. android采用SurfaceView实现文字滚动效果

    前言 为了实现文字的滚动效果,之前也重写了TextView效果都不太好,后来对SurfaceView进行完善. 声明     欢迎转载,但请保留文章原始出处:)  小崔博客:http://blog.c ...

  3. 【Java编程】Java基本数据类型

    在较前面的一篇博文<C/C++基本数据类型>中,我主要介绍了c/c++的基本数据类型.我们知道C语言没有具体规定各类数据类型所占内存的字节数,只要求long型数据长度不小于int型,sho ...

  4. 初涉IPC,了解AIDL的工作原理及使用方法

    初涉IPC,了解AIDL的工作原理及使用方法 今天来讲讲AIDL,这个神秘的AIDL,也是最近在学习的,看了某课大神的讲解写下的blog,希望结合自己的看法给各位同价通俗易懂的讲解 官方文档:http ...

  5. MongoDB 3.0新增特性一览

    转自:http://blog.sina.com.cn/s/blog_48c95a190102vedr.html 引言 在历经版本号修改(2.8版本直接跳到3.0版本)和11个rc版本之后,MongoD ...

  6. Android的启动过程分析(从进程和Framework的角度)-android学习之旅(98)

    Android的启动过程包含从Linux加载到home程序运行的过程,如下图所示: 1.linux内核: Android是基于Linux内核的系统平台.启动时,首先通过bootloader加载LInu ...

  7. 2018国赛 - Writeup(待补充)

    10.0.0.55 Writeup Web 0x01 easyweb 解题思路 题目很脑洞 用户名admin 密码123456进去可得到flag(密码现在换了) 解题脚本 无 Reverse 0x02 ...

  8. decode ways(动态规划)

    A message containing letters from A-Z is being encoded to numbers using the following mapping: 'A' - ...

  9. java Map遍历

    http://www.cnblogs.com/fczjuever/archive/2013/04/07/3005997.html 1. 阐述 对于Java中Map的遍历方式,很多文章都推荐使用entr ...

  10. jvm比较详尽的内存结构

     JVM内存结构 2012-09-17 15:27:59 分类: Java 本文转自:http://www.blogjava.net/nkjava/archive/2012/03/14/371831. ...