Redis

1、Redis前传

1.1、SQL分类

  • SQL(Structured Query Language):结构化查询语言
  • 是一种特殊目的的编程语言,是一种数据库查询和程序设计语言
  • 四大NoSQL分类
  • K-V键值对:Redis +其他(Tair、memecache)
  • 文档型数据库:MongoDB,基于分布式储存的数据库,用于处理大朗文档(介于关系型数据库与非关系行数据库之间,是最像关系型数据库的非关系型数据库)
  • 列存储数据库:HBase,分布式文件系统
  • 图关系型数据库:Neo4j、infoGrid,主要存储关系型拓扑图,存储关联关系的但类型或多类型数据库,不存储图形

只用redis不用mysql redis支持sql_只用redis不用mysql

1.2、NoSQL介绍

  • 计算机N+1时代,数据成为主流,关系型数据库已经承受不住高量级数据的并发查询及调度。
  • 解决SQL服务器困难的演进
  1. Memcached(缓存)+MySQL+垂直拆分
  • 最早:MyISAM:表锁,一行和列的形式关联处理,难以做到高并发的效果,容易出现死锁问题
  • 只用redis不用mysql redis支持sql_redis_02

  1. 分库分表 + 水平拆分 + MySQL集群
  • 本质:数据库的读和写
    演进一:InnoDB:行锁,及分库分表拆分业务数据,分别使用单独库进行读和写,但是效率并不高

只用redis不用mysql redis支持sql_关系型数据库_03

  1. 分库分表+水平拆分+垂直拆分+MySQL高集群
  • 多种不同数据的读和写
    企业级MySQL集群:拆分各类不同的数据(图片,文件,文本,交易…)分别储存,分别读写,体量高级群,但是维护不便
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pJvKUXoi-1617367018856)(Redis.assets/image-20210322151450045.png#pic_center)]
  1. 定制型高集群SQL同步/异步处理

使用关系型及非关系型数据库对应处理不同类型的数据。

用户名/密码 ——> MySQL

图片 ——> mangoDB

评论、博客 ——> Redis

NoSQL

  • NoSQL = Not Only SQL(不仅仅是SQL)
  • NoSQL的特点
  • 数据之间没有关联关系(数据以Key-Value的形式储存),高扩展
  • 读写速度快,数据量极大(写8w/s,读11w/s)是一种细粒度的缓存,高性能
  • 项目集成不需要事先设计数据库,随取随用,高可用
  • 无固定的查询语言,查询宽松,只要求结果一直性

3V+3高

  • 大数据时代的3V
  • 海量Volume
  • 多样Variety
  • 实时Velocity
  • 大数据时代的3高
  • 高并发
  • 高可用
  • 高性能

1.3、Redis概述

Redis概述

  • Redis(Remote Dicitionay Server):远程字典服务
  • Redis 是一个开源的使用 ANSI C 语言编写、遵守 BSD 协议、支持网络、可基于内存、分布式、可选持久性的键值对(Key-Value)存储数据库,并提供多种语言的 API。

Redis用途

  • 是目前市场最大,免费开源且最热门的NoSQL技术之一
  • 被称为结构化数据库
  • 内存持久化能力强,(内存断电即失,所以持久化很重要)
  • 数据持久化化的表现:<RDB,ROF>
  • RDB:Redis数据库备份文件(Redis Database Backup)持久化方式, 提供周期性基于时间点的数据集快照备份, 比如每小时生成一个快照备份.
  • AOF模式, 仅追加到文件(AppendOnlyFile)持久化方式, 在每次数据库服务收到写操作时记录日志文件, 当服务重启时, 自动回放该日志来重建原始数据集。日志中使用Redis自己的协议, 并按照统一的格式, 采用只追加的方法记录。当日志文件太大时, Redis可以在后台重写该日志, 生成一个最小化版本的日志文件。
  • 效率高,可高速缓存
  • 发布订阅量及地图信息分析

Redis特性

  • 多样性数据库
  • 持久性缓存
  • 高性能集群
  • 多事务处理

如果觉得对你有帮助,不妨点个赞呀!!!