总目录:https://www.jianshu.com/p/e406a9bc93a9
数据库 - 子目录:https://www.jianshu.com/p/4499e57a5604
在说redis前,我们先了解一下为什么要有noSQL,什么是noSQL。
noSQL
为什么要有noSQL
说起noSQL就要了解一下,中国当初最悲痛的事情,08年奥运会网上购票,开售导致网站直接崩盘,那时中国技术也才刚刚能够满足那时的双十一,就连京东也是经常崩溃。而奥运会门票是面向全世界的用户发售,那时的中国并没有成功应对下来那样的流量。
自此之后,中国的网民用户量不断拔高,促使技术顶峰不断提升,直到到达了SQL的瓶颈,这个瓶颈困扰了全世界很久,直到有了一个新的技术的出现,noSQL。
什么是noSQL
noSQL,即Not-Only SQL(非关系型数据库),作为关系型数据库的补充。
作用:基于海量用户与海量数据前提下的数据处理问题。
特征:
- 可扩容,可伸缩
- 大数据量下高性能
- 灵活的数据类型
- 高可用
常见的noSQL数据库
Redis
memcache
HBASE
MongoDB
这些数据库其实对应不同的应用场景。
我们在电商场景下讨论应用:
- 商品基本信息 --》MySQL
- 商品附加信息 --》MongoDB
- 图片信息 --》分布式文件系统 各家都不一样
- 搜索关键字 --》 es Lucene solr
- 高频信息 --》redis
Redis
什么是Redis
全称(REmote Dictionary Server),是一个用C语言开发的开源高性能K-V数据库。
特征
- 数据间没有必然的关联关系;
- 内部单线程机制进行工作;
- 高性能,官方提供测试数据,50个并发请求读的速度是110000/s,写的速度是81000/s;
- 多数据存储类型;
- 持久化,可以将数据存到硬盘上。
主要应用
- 为热点数据加速查询,如热点商品,热搜,推广类等等。
- 任务队列,如秒杀,抢购
- 即时信息查询,如排行榜,在线人数信息,公交到站信息
- 时效性信息,如验证码等
- 分布式数据共享,如集群架构中的session分离
- 消息队列
- 分布式锁
网友评论