用缓存是减少数据库的读取压力。
假如有100次查询,有两个mysql从服务器,则每个服务器可以分担50次查询,
如果是有缓存,而没有mysql从服务器,100次查询,可能50次是可以从缓存里取的
50次是需要从数据库取的,那么mysql服务器只承担了50次查询。
只是把每个事务的频繁写,变成了master/slave之间的批量写而已。如果数据库在表结构设计上,存在对同一个表的频繁读写 *** 作,
那么这个性能提升有限,因为很多需要读的情况,仍然要等同步写 *** 作完成。
读写分离,不是万能钥匙。有时候会有效。
读写分离的意思是,写入的时候向 a 服务器写入,而读出的时候从 b c d 甚至更多的服务器读出;这样的架构适合于读多写少的应用,最典型的就是火车购票系统,一般我们买票的时候要先查询好多次,包括车次啊,时间啊,这都是读 *** 作,而最后可能只买一张车票,这是写 *** 作;做了读写分离之后,可以将资源分配到最合理的地方,不会使某些资源闲置,而另一些资源不够用;但是读写分离必然引发主从复制,试想一共有 10 张票,买了 1 张票,读的时候如果还是读到 10 张余票就不对了,因此需要主从复制,再读的时候,就只能读到 9 张余票了;
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)