mysql和redis的区别

1. MySQL和Redis的数据类型

  • MySQL是关系型数据库,主要拥有存储持久化数据,数据存在在磁盘中,读取的速度比较慢。
  • Redis是NoSQL,非关系型数据库,数据存储在缓存中,读取的速度比较快,不过存储的时间有限。

2. MySQL运行机制

  • MySQL作为持久化关系型数据库,其存在的缺点在于每次访问数据库,都存在的I/O操作。

如果反复频繁的访问数据库:

  1. 会造成把大量的时间用在数据库的连接上,从而导致运行的效率较低。
  2. 反复访问的话,也会导致数据库的负载过高。

3. 缓存

  • 缓存是数据交换的缓冲区(cache),当浏览器去执行请求的时候,会先去缓存查找,如果存在的话,就返回数据,否则的话,就去数据库查找。
  • 缓存的好处是读取快。

4. Redis数据库

  • Redis是缓存数据库,用于存在访问频繁的数据,这样可以减少访问数据库的次数,提升运行效率

5. 总结

  1. 类型上
  • MySQL是关系型数据库,Redis是非关系型数据库
  1. 作用上
  • MySQL用于存储持久性数据到数据库中,功能强大,但是访问速度慢
  • Redis可以用于存储频繁访问的数据,访问速度快,减少数据库的I/O操作
  1. 需求上
  • MySQL和Redis由于需求的不同,一般是配合使用。
  1. 补充
  • redis适合放一些频繁使用,比较热的数据,因为是放在内存中,读写速度都非常快,一般会应用在下面一些场景(排行榜、计数器、消息队列推送、好友关注、粉丝)

  • 并且mysql存储在磁盘里,redis存储在内存里,redis既可以用来做持久存储,也可以做缓存,而目前大多数公司的存储都是mysql + redis,mysql作为主存储,redis作为辅助存储被用作缓存,加快访问读取的速度,提高性能

  1. 那么为什么不直接全部用redis存储呢?
  • 因为Redis存储在内存中,如果存储在内存中,存储容量肯定要比磁盘少很多,那么要存储大量数据,只能花更多的钱去购买内存,造成在一些不需要高性能的地方是相对比较浪费的,所以目前基本都是MySQL(主) + Redis(辅),在需要性能的地方使用Redis,在不需要高性能的地方使用MySQL。
  1. 查询上
  • mysql支持sql查询,可以实现一些关联的查询以及统计;

  • redis对内存要求比较高,在有限的条件下不能把所有数据都放在redis;

  • MySQL偏向于存数据,Redis偏向于快速取数据,但Redis查询复杂的表关系时不如MySQL,所以可以把热门的数据放Redis,MySQL存基本数据。

参考 :https://www.cnblogs.com/zxh1297/p/9394108.html
https://blog.csdn.net/zy47675676/article/details/89705062

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值