构建高性能MySQL集群

相信同学们都对MySQL不陌生,大家在实现一个系统的存储功能,首先想到的一定是MySQL吧。但是大家有没有思考过,MySQL如何能够随业务共同成长,从无到有,从小到大,支持不断攀升的并发访问量呢?本篇文章将为你介绍常用的“升级”手段。

一、 添加缓存

缓存是指在MySQL之上添加一个缓存数据库,缓存可以为MySQL抵挡一部分的访问量,以提升系统的整体访问量,常见的缓存数据库包括Redis、Memcached等。

当要查询MySQL的时候,先看看缓存中有没有,如果有则直接返回,没有就查MySQL并将数据刷入缓存。

缓存更新应该采取什么策略呢?常见的有以下三种:

  1. cache aside:先更新MySQL,再把缓存给删除。待下一次查询MySQL时,将数据刷入缓存。(可能出现ABA脏数据问题,但概率很小,是业界最常用的缓存更新策略)

  2. Read/Write Through: 先更新缓存,再同步更新MySQL。

  3. Write Back:先更新缓存,再异步更新MySQL。(性能较好,可靠性较差,容易丢失数据)

另外采用缓存经常会遇到以下三种问题:

  1. 缓存击穿:客户端不断查询一个不存在的key,大量访问量打到MySQL

  2. 缓存穿透:某一个热点缓存数据失效,大量访问量打到MySQL

  3. 缓存雪崩:大量缓存数据失效,大量访问量打到MySQL

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值