当前位置: 首页 > news >正文

新世纪建设集团网站沈阳网站建设 网络服务

新世纪建设集团网站,沈阳网站建设 网络服务,北京建站工作室,设计教育网站📢 大家好,我是 【战神刘玉栋】,有10多年的研发经验,致力于前后端技术栈的知识沉淀和传播。 💗 🌻 CSDN入驻不久,希望大家多多支持,后续会继续提升文章质量,绝不滥竽充数…

📢 大家好,我是 【战神刘玉栋】,有10多年的研发经验,致力于前后端技术栈的知识沉淀和传播。 💗

🌻 CSDN入驻不久,希望大家多多支持,后续会继续提升文章质量,绝不滥竽充数,欢迎多多交流。👍

文章目录

    • Redis 与数据库一致性

Redis 与数据库一致性

【问题背景】

使用Redis做一个缓存操作,让请求先访问到redis,而不是直接访问MySQL等数据库。

读取缓存步骤一般没有什么问题,但是一旦涉及到数据更新(数据库和缓存更新),就容易出现缓存(Redis)和数据库(MySQL)间的数据一致性问题。

不管是先写MySQL数据库,再删除Redis缓存;还是先删除缓存,再写库,都有可能出现数据不一致的情况。

【方案一:延时双删】

先删除Redis缓存数据,再更新Mysql,延迟几百毫秒再删除Redis缓存数据,这样就算在更新Mysql时,有其他线程读了Mysql,把老数据读到了Redis中,那么也会被删除掉,从而把数据保持一致。

延时双删 是一种常见的解决 Redis 和数据库一致性问题的方案,它可以有效地降低数据不一致的概率。

原理:

  • 写入 Redis: 当用户修改数据时,先写入 Redis 缓存。
  • 异步更新数据库: 同时异步地将修改操作发送到数据库进行更新。
  • 延时删除 Redis: 为了防止数据库更新失败导致数据不一致,在数据库更新成功后,延时一段时间再删除 Redis 缓存。

优点:

  • 提高性能: 由于大部分请求都命中缓存,可以有效地提高系统性能。
  • 降低数据不一致的概率: 延时删除可以确保数据库更新成功后,Redis 缓存才会被删除,从而降低数据不一致的概率。

缺点:

  • 存在短暂的数据不一致: 在延时删除期间,Redis 缓存和数据库数据可能存在短暂的不一致。
  • 需要额外的逻辑: 需要实现延时删除机制,增加代码复杂度。

适用场景:

  • 对于对数据一致性要求不高的场景,延时双删是一个不错的选择。
  • 对于需要高性能的场景,延时双删可以有效地提高系统性能。
@Component
public class CacheUtil {@Autowiredprivate RedisTemplate<String, Object> redisTemplate;// 删除数据的方法public void deleteWithDelay(String key, String dbKey) {// 第一次删除 Redis 中的数据redisTemplate.delete(key);// 等待一段时间(例如 500 毫秒)try {TimeUnit.MILLISECONDS.sleep(500);} catch (InterruptedException e) {Thread.currentThread().interrupt();}// 从数据库中删除数据(假设有一个数据库操作的方法)deleteFromDatabase(dbKey);// 再次删除 Redis 中的数据redisTemplate.delete(key);}// 模拟从数据库中删除数据的方法private void deleteFromDatabase(String dbKey) {// 实际的数据库删除逻辑System.out.println("Deleting from database: " + dbKey);// 例如:repository.deleteById(dbKey);}
}

【其他方案】

1、队列 + 重试机制

2、异步更新缓存(基于订阅binlog的同步机制)

http://www.yayakq.cn/news/308003/

相关文章:

  • 潍坊网站建设价格扫码员在哪个网站可以做
  • 福建省第一电力建设公司网站wordpress调用特色
  • 网站建设设计说明做的网站没流量
  • 网站建网站建设seo帮帮您网络推广文案招聘
  • 网站建设基础代码沈阳市建设公司网站
  • 本地门户网站系统一台云服务器可以做多少个网站
  • 西宁做网站的公司捌君博力请wordpress 入口
  • 网站建设模板怎么设计深圳设计公司电话
  • 帝国cms是个人网站重庆建设工程信息网查询成绩
  • 做好公司网站wordpress后台运行速度慢
  • 平度做网站湖南省专业建设公司网站的机构
  • 散文网站模板网站首页设计要求
  • 网站地图那么建设网站优化意见
  • 网站怎么弄企业网站建设性能分析
  • 网站记录ip 修改黄金网站软件app下载安装
  • 珠宝网站模板免费下载郑州做网站公司 汉狮网络
  • 阿里云建站视频教程惠州网站优化建设
  • 建站兔软件常见问题营销型网站建设 高校邦
  • 工业设计大赛山东seo网络推广
  • 徐州百度搜索网站排名大同网站建设开发
  • 个人域名怎么做网站网站接单做项目
  • 网站模板上传打不开网站开发类参考文献
  • 爬知乎文章做网站个人申请网址什么条件
  • 个人网站 组建wordpress链接优化
  • 郑州高端网站建设多少钱公司网站成本
  • 合肥专业制作网站wordpress cosy
  • 网上做调查赚钱的网站可不可以用帝国cms做企业网站
  • 安卓网站建站系统永久免费linux云主机
  • 扬州电子商务网站建设简单的网站设计开发
  • 个人导航网站如何赚钱湖人队最新消息