[镜像] 练习-实现 Redis 和 MySQL 中数据双写一致性

镜像 海牛博士 ⋅ 于 2024-12-31 11:26:35 ⋅ 39 阅读

镜像详情地址:https://cloud.hainiubl.com/#/excellentImageDetail?id=24777&imageType=excellent

点击镜像详情页面最下方的“添加到实验配置”按钮可直接运行该实战镜像

一、需求说明

我们都知道MySQL是关系型数据库,用于存储我们的业务数据。对于大量并发查询和复杂的SQL操作,可能会导致性能瓶颈。如果想要对mysql做优化,可以引入redis。Redis作为内存数据库,具有非常低的延迟和高吞吐量,可以缓存热点数据,减少数据库的访问频率,从而大幅提升读取性能。

之前的架构:

file

优化后的架构:

file

优化后的架构引入了redis做缓存,存储热点数据,这样可以提供非常低的延迟和高吞吐量,减少数据库的访问频率。

优化后的架构看似没有问题,实际有很多细节需要我们思考:

我们不可避免的会出现了数据库修改的场景,这就导致了数据库中的数据和Redis中出现不一致性的情况。如何保证数据一致性就显得非常重要了

本练习将演示如何保证传统数据库和redis之间数据一致性的问题

二、环境介绍

机器介绍

  • 一台mysql机器
  • 一台idea开发机
  • 一台redis内存数据库

流程介绍

  1. 打开idea运行已经编写好的代码
  2. 模拟两个线程一个请求数据,一个修改数据,观察查询情况
  3. 升级代码引入缓存延迟双删策略解决数据不一致问题
您没有该镜像的运行权限,所以无权查看该笔记

版权声明:原创作品,允许转载,转载时务必以超链接的形式表明出处和作者信息。否则将追究法律责任。来自海汼部落-海牛博士,http://hainiubl.com/topics/76600
点赞
成为第一个点赞的人吧 :bowtie:
回复数量: 0
    暂无评论~~
    • 请注意单词拼写,以及中英文排版,参考此页
    • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`, 更多语法请见这里 Markdown 语法
    • 支持表情,可用Emoji的自动补全, 在输入的时候只需要 ":" 就可以自动提示了 :metal: :point_right: 表情列表 :star: :sparkles:
    • 上传图片, 支持拖拽和剪切板黏贴上传, 格式限制 - jpg, png, gif,教程
    • 发布框支持本地存储功能,会在内容变更时保存,「提交」按钮点击时清空
    Ctrl+Enter