2016 - 2024

感恩一路有你

redis mysql完美结合 为啥Redis/Mongo这么快,就不能直接替代mysql吗?

浏览量:2250 时间:2021-03-12 17:39:01 作者:admin

为啥Redis/Mongo这么快,就不能直接替代mysql吗?

您好,我是一名互联网行业开发工程师,同时也是优质vlog领域创作者,欢迎关注我!

当今互联网缓存中间件大多都使用了redis、mongodb等nosql数据库,目前也有很成熟的方案,但为啥还要用关系型数据库呢?下面探探谈谈我的理解:

1、redis等数据库跑的是内存,内存贵,成本高

2、虽然redis、mongodb也能实现持久化到硬盘,但是丢数据的风险有点大

3、对于ACID,redis等nosql保证不了,只有关系型数据库才能保证,简单来说就是nosql不支持事务,一致性、原子性等不能保证

4、nosql数据库关联查询不是很方便

5、关系型数据库可以适合大部分甚至所有开发场景

6、redis、mongodb给关系型数据分担压力是可以的,作为缓存中间件来使用,但是数据底层还是要用关系型数据库

最后

redis等nosql数据库是快,毕竟是内存操作,用起来是可以分担关系型数据库压力,但关系型数据库也是必不可少的,希望我的回答能帮到你!

redis mysql有几种用法?

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

那么为什么不直接全部用redis存储呢?

我的看法是:因为redis存储在内存中,如果存储在内存中,存储容量肯定要比磁盘少很多,那么要存储大量数据,只能花更多的钱去购买内存,造成在一些不需要高性能的地方是相对比较浪费的,所以目前基本都是mysql(主) redis(辅),在需要性能的地方使用redis,在不需要高性能的地方使用mysql,好钢用在刀刃上

貌似其他回答都没有说到这一点:redis的持久化功能,还可以防缓存雪崩。应该说这才是redis支持持久化的必要性所在。

例如假设后台架构是redis mysql,且redis关闭了持久化,redis服务器某天突然宕机,丢失了内存所有缓存,当redis服务器恢复后,必然要重新从mysql拿数据做缓存,如果读数据请求非常集中,mysql可能就瘫痪了,此即为缓存雪崩。

如果遇到土豪公司只用redis数据库而不用mysql,就没有什么缓存雪崩问题,因为此时redis根本就不是缓存功能而是存储功能了。

redis mysql完美结合 redis和mysql怎么配合使用 redis一般用来干嘛

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。