一:什么是关系型数据库,什么是非关系型数据库
关系型数据库:mysql,oracle
非关系型数据库:redis,mongodb,elasticsearch
首先来说我们的关系型数据库,既然称为关系型数据库,肯定围绕关系二字,即建立在关系型模型基础上的数据库,借助集合代数数学概念方法处理的数据,那什么事关系模型呢?关系模型是指代一个二维表格模型(就是一张二维表Table,简称他为表,由行和列组成),表的每一行视为一个元组(即记录),每一列视为一个属性(字段),这就是我们的普通数据库了。
NoSQL,指的是非关系型的数据库。
NoSQL有时也称作Not Only SQL的缩写是对不同于传统的关系型数据库的数据库管理系统的统称。 对NoSQL最普遍的解释是”非关联型的”,强调Key-Value Stores和文档数据库的优点,而不是单纯的RDBMS。 NoSQL用于超大规模数据的存储。 这些类型的数据存储不需要固定的模式,无需多余操作就可以横向扩展。 今天我们可以通过第三方平台可以很容易的访问和抓取数据。 用户的个人信息,社交网络,地理位置,用户生成的数据和用户操作日志已经成倍的增加。 我们如果要对这些用户数据进行挖掘,那SQL数据库已经不适合这些应用了 NoSQL数据库的发展也却能很好的处理这些大的数据。
参考地址:
https://cloud.tencent.com/developer/article/1391667?from=information.detail.%E5%85%B3%E7%B3%BB%E5%9E%8B%E4%B8%8E%E9%9D%9E%E5%85%B3%E7%B3%BB%E5%9E%8B%E6%95%B0%E6%8D%AE%E5%BA%93
二:redis特点
1.速度快 c语言编写的 代码优雅简洁 单线程架构
2.支持多种数据结构 字符串,哈希,列表,集合,有序集合
3.丰富的功能 天然计数器 键过期功能 消息队列
4.支持客户端语言多 php,java,go,python
5.支持数据持久化 所有在运行的数据都是放在内存里的 支持多种数据久化格式,RDB,AOF,混合持久化
6.自带多种高可用架构 主从,哨兵,集群
三:redis应用场景
1.缓存-键过期 把session数据缓存在redis里,过期删除 换用用户信息,缓存mysql部分的数据,用户先访问redis,如果redis没命中,在访问mysql,然后回写给redis
商城优惠卷过期 短信验证码过期
2.排行榜-列表&有序集合
热度/点击量 直播间礼物打赏排行榜
3.计数器-天然计数器
帖子浏览数 视频播放次数 评论次数 点赞/点踩
4.社交网络-集合
粉丝 共同好友/可能认识的人 兴趣爱好/标签 检查用户注册名是否已经被注册
5.消息队列-列表
ELK缓存日志 聊天记录