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

建设银行信用卡网站广告投放平台排名

建设银行信用卡网站,广告投放平台排名,中铁建设集团官网,做网站用的大图Redis的作用 一般情况下Redis是用来实现应用和数据库之间的一个读操作的缓存层,主要目的是减少数据库的io,还可以提升数据库io性能 方法一: 先更新MySQL数据库,再删除缓存,再从数据库查询到的最新的数据同步到redis…
Redis的作用

一般情况下Redis是用来实现应用和数据库之间的一个读操作的缓存层,主要目的是减少数据库的io,还可以提升数据库io性能

方法一:

先更新MySQL数据库,再删除缓存,再从数据库查询到的最新的数据同步到redis。采用最终一致性性策略。

缺点:相较于mq的方式,这种方式由于要查数据库并将最新数据写到redis,可能会造成接口响应速度变慢。

方法二:

更新mysql数据库,再采用mq异步的方式,将数据同步到redis中。

缺点:数据同步延时概率比较大,数据库的更改信息投递到mq中,消费者可能没来得及消费消息同步数据到redis。

优点:异步解耦

方法三:

基于订阅mysql binlog,采用mq异步的形式将数据同步到redis(canal框架)。

将mysql以主从的方式部署,主库负责写,从库负责读,当主库的binlog日志文件发生改变时,将信息同步到从库,从库执行对应的sql,保证主从一致性。

canalServer端,伪装成mysql的从节点,订阅mysql主节点的binlog文件,当主节点的binlog发生变化时,会将binlog日志文件发送给canalServer端,自己创建的处理程序连接到canalServer端,将数据同步到redis。

优点:手动直接更改数据库也会自动同步到redis。

方法四:

延时双删策略(不推荐)

  • 先删缓存,在更新mysql并同步到redis,在高并发的情况下,第一个线程还没来得及更新mysql时,其他线程读取到的缓存可能为null值,将mysql旧的数据同步到redis中了。

解决办法:延时删除,在t1线程更新数据库之后,sleep一段时间再去删除缓存。

缺点:t1线程延时多少秒再去删除缓存中的key?难以控制,得根据业务逻辑的执行时间和写缓存的时间来进行估算。

补充:什么是双写一致性协议?

先更新数据库,在更新缓存。

updateDB();
updateredis();

多个线程同步修改mysql和redis时,由于mysql行锁机制,多个线程同时修改同一行数据,只能有一个线程修改成功,两个线程更新完数据库后同时更新redis,由于不能确保两个线程更新缓存的先后顺序,可能会造成数据库和缓存的不一致性。

解决办法:使用事务保证更新数据库和更新缓存整个两个操作的原子性。

http://www.dtcms.com/wzjs/103679.html

相关文章:

  • 网站开发服务费计入什么科目免费注册网站有哪些
  • 番禺网站建设公司成品网站源码在线看
  • 重庆做学校网站公司免费建立网站步骤
  • 网站升级方案外包公司排名
  • 住房建设委官方网站挖掘关键词工具
  • 网站 营销型seo网站优化是什么
  • 炫的手机网站种子搜索在线 引擎
  • 校园网站建设必要性进行优化
  • 爱站网怎么打不开十大微商推广平台
  • 网站建设问题seo是什么专业的课程
  • 机械网站推广怎么做网络营销策划推广方案
  • 行业网站域名选择电商软文范例
  • 山西住房城乡建设厅网站aso平台
  • 网页美工设计网课seo网站推广是什么意思
  • 湖北工程建设总承包有限公司网站window优化大师
  • 政府门户网站的模块谷歌官网网址
  • 德国 网站后缀seo哪家好
  • 网站管理方案陕西疫情最新消息
  • 怎么给网站添加代码浙江短视频seo优化网站
  • 房地产政策seo全网优化推广
  • 有什么网站做头像360收录
  • wordpress 无限加载公司网站怎么优化
  • 邯郸市教育公共服务平台seo实战培训费用
  • 西地那非片多少钱一盒如何优化关键词搜索排名
  • 九寨沟网站开发的背景企业培训课程ppt
  • 昆明抖音推广合肥seo代理商
  • pc网站制作重庆seo教程博客
  • 包头网站优化北京百度seo服务
  • 5g网络架构行者seo
  • 建站用帝国还是wordpress成品网站源码的优化技巧