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

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

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

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

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


更多文章
  • 我的技术栈选型
  • 为什么我要用Linux作为桌面?
  • disqus获取评论时忽略query string
  • MySQL性能优化指南
  • 网络编程所需要熟悉的那些函数
  • DNSCrypt简明教程
  • SQLAlchemy简明教程
  • 这些年,我们错过的n个亿
  • 给Linux用户的FreeBSD快速指南
  • 旧电脑也不能闲着:家用备份方案
  • 将SQLite的数据迁移到MySQL
  • Linux托管Windows虚拟机最佳实践
  • 为什么gRPC难以推广
  • 关于ORM的思考
  • MySQL指定使用索引(使用索引提示)