You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
2.2 KiB
2.2 KiB
10.30Redis学习笔记
1.Nosql概述
大数据时代--一般的数据库无法处理
1.1 发展
1.1.1.单机MySQL时代
1.1.2.缓存+MySQL+垂直拆分(读写分离)
发展过程:
优化数据结构和索引-->文件缓存(IO)-->Memcached(当时最热门)
1.1.3.分库分表+水平拆分+MySQL集群
本质:数据库(读写)
早些年:MyISAM :表锁,十分影响效率,高并发下出现严重锁问题
后来Innodb: 行锁
然后开始使用分库分表解决写压力,MySQL推出过表分区,但使用不多
之后MySQL集群出现,满足了当时的需求
1.1.4.当今
数据量大变化快
MYSQL关系型数据库开始不够用
目前一个基本互联网项目的结构:
1.2什么是NoSQL
泛指非关系型数据库 Not Only SQL
关系型数据库的存储是一个表格有行和列
很多数据像用户个人信息地理位置等等,不需要一个固定的格式,可以使用键值对控制,比如Map<String,Object>
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等