开发者社区> 问答> 正文

[@倚贤][¥20]请问高并发条件下,如何保证Redis缓存和MySQL数据一致性

在高并发条件下,尤其是出现数据更新的操作时,容易出现缓存和数据库的一致性问题。

展开
收起
遥遥知识库 2018-12-18 16:20:27 4142 0
2 条回答
写回答
取消 提交回答
  • Zzz
    开发

    首先需要区分Redis和MySQL是否存在分布式的问题,还是说你考虑的是Redis缓存和MySQL的一致性。

    如果是后者,那相对会比较简单。

    1. 要强一致性,就要保证Update数据的时候,先Update,Redis缓存;并Update MySQL,只有两者都成功了,才返回Update成功。
    2. 如果是缓存优先的模型,那就先Update WriteLog,再Update Redis缓存,并一定的持久化策略将WriteLog写入MySQL内。保证最终和缓存是一致的。

    这个问题和文件系统的写入比较相似,可以参考一下。

    2019-07-17 23:22:51
    赞同 展开评论 打赏
  • 可以通过加分布式锁来实现,分布式锁可以用redis缓存实现。

    2019-07-17 23:22:51
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
One Box: 解读事务与分析一体化数据库 HybridDB for MySQL 立即下载
One Box:解读事务与分析一体化数据库HybridDB for MySQL 立即下载
如何支撑HTAP场景-HybridDB for MySQL系统架构和技术演进 立即下载

相关镜像