mysql读写分离和用Redis做缓存,这两种方案有什么异同

mysql读写分离和用Redis做缓存,这两种方案有什么异同,第1张

读写分离是分摊数据库的读取压力,

缓存是减少数据库的读取压力。

假如有100次查询,有两个mysql从服务器,则每个服务器可以分担50次查询,

如果是有缓存,而没有mysql从服务器,100次查询,可能50次是可以从缓存里取的

50次是需要从数据库取的,那么mysql服务器只承担了50次查询。

只是把每个事务的频繁写,变成了master/slave之间的批量写而已。

如果数据库在表结构设计上,存在对同一个表的频繁读写 *** 作,

那么这个性能提升有限,因为很多需要读的情况,仍然要等同步写 *** 作完成。

读写分离,不是万能钥匙。有时候会有效。

读写分离的意思是,写入的时候向 a 服务器写入,而读出的时候从 b c d 甚至更多的服务器读出;这样的架构适合于读多写少的应用,最典型的就是火车购票系统,一般我们买票的时候要先查询好多次,包括车次啊,时间啊,这都是读 *** 作,而最后可能只买一张车票,这是写 *** 作;做了读写分离之后,可以将资源分配到最合理的地方,不会使某些资源闲置,而另一些资源不够用;

但是读写分离必然引发主从复制,试想一共有 10 张票,买了 1 张票,读的时候如果还是读到 10 张余票就不对了,因此需要主从复制,再读的时候,就只能读到 9 张余票了;


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/7406817.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-05
下一篇 2023-04-05

发表评论

登录后才能评论

评论列表(0条)

保存