1. 关系型和⾮关系型
a.关系型数据库: mysql oracle pg
b.⾮关系型数据库:redis mongo elasticsearch
c.NoSQL 全名为: not only sql
d.NoSQL,指的是⾮关系型的数据库。
NoSQL有时也称作Not Only SQL的缩写是对不同于传统的关系型数据库的数据库管理系统的统
称。
对NoSQL最普遍的解释是“⾮关联型的”,强调Key-Value Stores和⽂档数据库的优点,⽽不是
单纯的RDBMS。
NoSQL⽤于超⼤规模数据的存储。
这些类型的数据存储不需要固定的模式,⽆需多余操作就可以横向扩展。
今天我们可以通过第三⽅平台可以很容易的访问和抓取数据。
⽤户的个⼈信息,社交⽹络,地理位置,⽤户⽣成的数据和⽤户操作⽇志已经成倍的增加。
我们如果要对这些⽤户数据进⾏挖掘,那SQL数据库已经不适合这些应⽤了
NoSQL数据库的发展也却能很好的处理这些⼤的数据。
2. Redis重要特性 AK47
1.速度快
c语⾔编写的
代码优雅简洁
单线程架构
2.⽀持多种数据结构
字符串,哈希,列表,集合,有序集合
3.丰富的功能
天然计数器
键过期功能
消息队列
发布订阅
4.⽀持客户端语⾔多
php,java,go,python
5.⽀持数据持久化
所有在运⾏的数据都是放在内存⾥的
⽀持多种数据久化格式,RDB,AOF,混合持久化
6.⾃带多种⾼可⽤架构
主从,哨兵,集群
3. Redis应⽤场景
1.缓存-键过期
把session数据缓存在redis⾥,过期删除
换⽤⽤户信息,缓存mysql部分的数据,⽤户先访问redis,如果redis没命中,在访问
mysql,然后回写给redis
商城优惠卷过期
短信验证码过期
2.排⾏榜-列表&有序集合
热度/点击量
直播间礼物打赏排⾏榜
3.计数器-天然计数器
帖⼦浏览数
视频播放次数
评论次数
点赞/点踩
4.社交⽹络-集合
粉丝
共同好友/可能认识的⼈
兴趣爱好/标签
检查⽤户注册名是否已经被注册
5.消息队列-列表
ELK缓存⽇志
聊天记录
6.发布订阅
粉丝关注通知
消息发布