# 10.30Redis学习笔记 ## 1.Nosql概述 大数据时代--一般的数据库无法处理 ### 1.1 发展 #### 1.1.1.单机MySQL时代 #### 1.1.2.缓存+MySQL+垂直拆分(读写分离) 发展过程: 优化数据结构和索引-->文件缓存(IO)-->Memcached(当时最热门) ![1761790196878](C:\Users\Administrator\Desktop\1761790196878.png) #### 1.1.3.分库分表+水平拆分+MySQL集群 本质:数据库(读写) 早些年:MyISAM :表锁,十分影响效率,高并发下出现严重锁问题 后来Innodb: 行锁 然后开始使用分库分表解决写压力,MySQL推出过表分区,但使用不多 之后MySQL集群出现,满足了当时的需求 ![1761790721155](C:\Users\Administrator\Desktop\1761790721155.png) #### 1.1.4.当今 数据量大变化快 MYSQL关系型数据库开始不够用 目前一个基本互联网项目的结构: ![1761791781386](C:\Users\Administrator\Desktop\1761791781386.png) ### 1.2什么是NoSQL 泛指非关系型数据库 Not Only SQL 关系型数据库的存储是一个表格有行和列 很多数据像用户个人信息地理位置等等,不需要一个固定的格式,可以使用键值对控制,比如Map ### 1.3NoSQL特点 **解耦** 1.方便扩展(数据之间没有关系) 2.大数据高性能(官方数据:Redis一秒可以写8万次,读取11万次,NoSQL的缓存记录级是一种细粒度的缓存,性能比较高 ) 3.数据类型是多样性的,不需要事先设计数据库,随取随用 4.传统关系型数据库和NoSQL 传统关系型数据库是结构化组织,数据和关系都存在单独的表中,有严格的一致性 NoSQL不仅仅是数据,没有固定的查询语言,有很多存储方式,比如键值对存储,列存储,文档存储,图形存储,最终一致性,CAP和BASE(异地多活),高性能,高可用,高可扩 ## 2.NoSQL四大分类 KV键值对 新浪:Redis 美团:Redis+Tair 阿里、百度:Redis+memecache 文档型数据库 mongoDB :是一个介于关系型数据库和非关系型数据库之间的产品 列存储数据库: HBase 分布式文件系统 图形关系数据库:不是放图的是放关系的 Neo4j,InfoGrid等 ## Redis入门