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

杭州建设工程信息网站化妆所有步骤

杭州建设工程信息网站,化妆所有步骤,音乐网站是否可以做浅度链接,蒙城做网站保证数据一致性#xff1a;指保证redis里的数据和mysql的数据是一致的#xff0c;不能说mysql更新了#xff0c;但redis里面的还是旧的数据#xff0c;反之亦然 先说结论#xff1a;增删改的时候#xff0c;把Redis中的缓存删了 为什么不先更新数据库#xff0c;再更新…保证数据一致性指保证redis里的数据和mysql的数据是一致的不能说mysql更新了但redis里面的还是旧的数据反之亦然 先说结论增删改的时候把Redis中的缓存删了 为什么不先更新数据库再更新缓存 如果更新后不一定被读取那么会进行很多次无意义的更新万一你写入数据库的值并不是直接写入缓存的而是要经过一系列复杂的计算再写入缓存。那么每次写入数据库后都再次计算写入缓存的值无疑是浪费性能的。显然删除缓存更为适合。 那先写入库还是先删缓存呢 如果先删除缓存再写入库还没来得及写入就有线程来读取这时候发现缓存为空然后就去读了数据库旧数据并写入缓存在数据库更新后发现数据不一致此时缓存中为脏数据如果先写入库再删除缓存先写了库但线程挂了缓存没删这时候直接读旧缓存也会数据不一致。 最终选择先写入库再删缓存并采取措施保证删除操作 最简单最基础的措施延迟双删 基本思路在写库前后都进行redis.del(key)操作并且设定合理的超时时间。 具体步骤 1、删缓存 2、写入数据库 3、休眠500毫秒看情况定 4、再次删除缓存 但问题是删除失败怎么办 可以改成异步重试删除有很多种方法可以进行重试 单独起一个线程但可能会创建太多线程导致OOM不建议用交给线程池处理但如果服务器重启部分数据可能会丢失不建议用交给定时任务进行重试比如elastic-job定时1秒删除一次尝试5次自己决定缺点是实时性不高交给mq等消息中间件让删除缓存的消费者进行重试订阅mysql的binlog在订阅者中如果发现了更新数据请求则删除相应的缓存。最常用 具体来说当一条数据发生修改时MySQL 就会产生一条变更日志Binlog我们可以用消息队列订阅这个日志而不是代码用的是阿里的canel插件拿到日志中具体操作的数据再根据这条数据用消息队列去删除对应的缓存由专门的消费者来不断重试直到删除成功。 过程: 1更新数据库增删改 2通过canal监听binlog把监听到的binlog 数据发送到 MQ 队列中 3通过消息队列的删除缓存消费者将缓存数据删除缓存删除失败则通过MQ不断重试直至删除成功(用死信队列)
http://www.dnsts.com.cn/news/108320.html

相关文章:

  • 网站轮播图怎么做的信阳网站建设培训
  • 河南鑫安胜通建设有限公司网站大理石在哪些网站做宣传
  • 专业做电子的外贸网站江苏省句容建设局网站
  • 静安青岛网站建设wordpress七牛w3tc加速
  • wordpress meiwen主题邢台seo
  • 网页实时翻译软件优化营商环境工作开展情况汇报
  • 成都网站建设好多科技我要学电脑哪里有短期培训班
  • 提供广东中山网站建设沙田镇网站建设
  • 网站开发售后服务能力国外公司网站设计
  • 网站建设的软件平台wordpress统计蜘蛛
  • 石家庄模板做网站长沙网站自己制作
  • 政和网站建设wzjseo免费建造公司网站
  • 检察机关门户网站建设情况视频网站 怎么做
  • 网站后台psd济南自助建站
  • 湖北省住房和城乡建设厅网站wordpress 空白框架
  • 怎么做一个免费的网站制作网页模板
  • 合肥响应式网站建设方案能下载的网站
  • 松江网站建设培训朔州怀仁网站建设
  • 营销网站方案设计做你的爱人3在线观看
  • 湛江网站建设价格网站要求wordpress
  • 自己建立网站多少钱深圳网站设计精选刻
  • 南宁兴宁区建设局网站如何建立一个外贸公司网站
  • 如何做网站代码wordpress建影视网站
  • 白城网站建设公司论坛网站地图怎么做
  • 牛商网做网站wordpress主题 知更鸟
  • 二七区网站建设关于营销的最新的新闻
  • 公司主页网站设计河北网站建设价格低
  • 在线建站哪个网站好亚马逊雨林
  • 哪些网站页面简洁建行手机银行app
  • xuzhou网站制作品牌怎么注册