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

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

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

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

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


更多文章
  • 一个Golang gRPC握手错误的坑
  • Golang(Go语言)爬虫框架colly简明教程及源码阅读与分析
  • 选择合适的技术栈
  • Golang的template(模板引擎)简明教程
  • 毕业三年,一路走来
  • 代码的坏味道
  • 消息分帧(字符串设计或协议设计)的两种形式
  • C, Go, Python的错误处理和异常机制杂谈
  • 好的命名是最好的文档
  • 读《系统之美:决策者的系统思考》
  • Linux高分屏支持
  • GCC默认的头文件搜索路径
  • 读《远见-如何规划职业生涯3大阶段》
  • 后端工程师学前端(五): SASS
  • 后端工程师学前端(四): CSS进阶(盒子模型)