Redis新手入门——NoSql初识
问题现象
- 海量用户
- 高并发
罪魁祸首——关系型数据库
- 性能瓶颈:关系型数据库在存读取数据的时候要走磁盘IO(磁盘IO性能低)
- 扩展瓶颈:数据关系复杂,拓展性差,不便于大规模集群
解决思路
- 降低磁盘IO的次数,越低越好 ——内存存储
- 去除数据间的关系,越简单越好 ——不存储关系,只存储数据
NoSql
NoSQL:即Not-Only Sql(泛指非关系型数据库),作为关系型数据库补充。
作用:应对基于海量用户和海量数据前提下的数据处理问题。
特点:
- 可扩容,可伸缩 (不存关系,扩容相对简单)
- 大数据量下高性能 (不走磁盘IO,走内存)
- 灵活的数据模型 (设计了自己的存储格式)
- 高可用
常用 Nosql 数据库
- Redis
- memcache
- HBase
- MongoDB
Nosql应用场景(电商场景)
1.商品基本信息
- 名称
- 价格
- 厂商
像这一类商品的基本信息存储在MySql中
2.商品附加信息
- 描述
- 详情
- 评论
这一类的不属于商品本身的信息存储在MongoDB中
3.图片信息
- 看需要存储在(分布式)文件系统
4.搜索关键字
- 在搜索这一方面可以使用ES、Lucene、solr等
5.热点信息
- 高频
- 波段性
这一类的信息就放到Redis、memcache、tair中