结合Redis与MySQL实现又快又好的数据方案

要速度快,我们一般会选择Redis,不过同等价格的情况下,内存容量终究比不过硬盘大小,对于大量数据,MySQL是更好的选择。不过, 我们可以结合Redis和MySQL实现,将热点数据存储在Redis中,将不热的数据存储在MySQL中。

有些场景,例如发一个全国性的推送,或者一个非常热门的帖子。这类场景就很适合,刚发布出去的那几天,消息非常热门,如果直接 把数据存储在MySQL中,MySQL很容易就炸(QPS高的情况下),因此不如把数据存储在Redis中,当消息不那么热门的时候,就可以把Redis 中的数据刷到MySQL中,这个时候访问消息的QPS就没有那么高了。

那么这种模式的问题在哪里呢?问题就在于代码的逻辑会复杂很多,要处理时间边界,代码逻辑中将两个数据源的消息进行拼接,相当于 将Redis或者MySQL中的一部分逻辑搬到业务代码中来完成。

因此这个方案,如果数据量没有达到对应的级别的话,还是谨慎使用,毕竟,这是大杀器。


微信公众号
关注公众号,获得及时更新

更多文章
  • Golang/Python最佳实践
  • 读《毛泽东选集》
  • GORM源码阅读与分析
  • 随想
  • Golang中的错误处理
  • Golang 的槽点
  • 一个想当然的bug
  • 读《稀缺》
  • 读《影响力》
  • 读《自控力》
  • Containerd简明教程
  • 软件设计套路之推拉模式
  • 记一次Golang TLS编程踩坑
  • 杂谈
  • 使用autossh实现内网穿透