**

利用数据库本身进行手动同步

**
具体操作

  1. 在MySQL中对要操作的数据设置触发器Trigger,监听操作
  2. 客户端(NodeServer)向MySQL中写入数据时,触发器会被触发,触发之后调用MySQL的UDF函数
  3. UDF函数可以把数据写入到Redis中,从而达到同步的效果
    好处
    同步效率比较高,一般结合延迟双删和缓存超时策略进行手动同步
    延迟双删和缓存超时简介
    首先删除redis中的数据,然后更新数据库中的数据,最后过一段时间(大概一分钟)再对redis中数据做一次删除.这样就可能尽量保证我们的redis数据被删掉,但极端情况下,旧数据还是没有删掉,所以我们设计让它的过期时间短一点,这样就算没删掉也可以很快过期.

利用Canal进行数据同步

Canal简介
阿里旗下,用来监控数据库内部数据变化的软件.
Canal会伪装成mysql的备份机.当mysql进行数据操作以后,会将记录记载到日志中,同时发送给备份机,当canal接收到日志数据后,就会进行后续数据同步工作.

数据更新(以首页广告更新为例)
当mysql内部的数据发生改变之后.我们的数据监控微服务,就可以根据canal获取到最新更新的数据.,将我们的position字段的值提取出来(代表当前广告的位置),之后数据监控的微服务就会把这个值发送到rabbitmq上,rabbitmq收到这个消息后,就会把这个消息保存到自己的内存中.这时运营的微服务就会从rabbitmq中把值拿出来,调用nginx中的更新数据的lua脚本进行数据更新.

Redis和Mysql数据同步的两种方案相关推荐

  1. redis与mysql数据同步_Redis与MySQL数据同步解决方案

    数据库同步到Redis 我们大多倾向于使用这种方式,也就是将数据库中的变化同步到Redis,这种更加可靠.Redis在这里只是做缓存. 方案1 做缓存,就要遵循缓存的语义规定: 读:读缓存redis, ...

  2. SAP CRM和C4C数据同步的两种方式概述:SAP PI和HCI

    SAP Cloud for Customer(C4C)和SAP其他传统产品进行数据同步的方式,如下图所示,可以使用SAP Netweaver Process Integration或者SAP HANA ...

  3. mongo数据同步的三种方案

    (一)直接复制data目录(需要停止源和目标的mongo服务) 1.针对目标mongo服务已经存在,并正在运行的(mongo2-->mongo). 执行步骤: (1).停止源/目标服务器的mon ...

  4. win7两个mysql数据同步_两台服务器两个数据库怎么实现数据同步备份。

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 SQL Server 2008 镜像 环境设置. 初始环境: 1.主机 Win7 + SQL Server 2008 R2 IP地址:192.168.56 ...

  5. mysql数据没有同步更新_MySQL数据库主从没有同步的两种解决方案

    MySQL数据库主从没有同步的两种解决方案 发布时间:2020-05-13 13:54:57 来源:亿速云 阅读:190 作者:三月 栏目:数据库 下文主要给大家带来MySQL数据库主从没有同步的两种 ...

  6. MySQL数据同步到 Redis 缓存的几种方法

    1 Mysql查完数据,再同步写入到Redis中 缺点1:会对接口造成延迟,因为同步写入redis本身就有延迟,并且还要做重试,如果redis写入失败,还需要重试,那就更费时间了. 缺点2:不解耦,如 ...

  7. docker容器运行mysql持久化_docker容器实现数据持久化的两种方式及其区别

    前言 这篇博文是我对docker实现数据持久化几种方式的特征进行一个总结. 在docker中,它的存储文件系统是在dockerhost上原有的xfs或ext4架设了一层文件系统:overlay2(将此 ...

  8. 归一化mysql函数_数据归一化和两种常用的归一化方法

    数据归一化和两种常用的归一化方法 一.总结 一句话总结: min-max标准化:x* =(x-min)/(max-min):新数据加入,需重新计算max和min Z-score标准化:x* =(x-μ ...

  9. dapper mysql 批量_MySQL数据库之c#mysql批量更新的两种方法

    本文主要向大家介绍了MySQL数据库之c#mysql批量更新的两种方法 ,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助. 总体而言update 更新上传速度还是慢. 1:  简单的 ...

最新文章

  1. Realm的简单使用
  2. Google Guava 概要
  3. linux c 获取进程 cpu占用率 内存占用情况
  4. 深入分析 iBATIS 框架之系统架构与映射原理--转载
  5. linux keepalived 脚本,Linux下 keepalived 的安装和配置
  6. c++ int8_t转int_c专题之指针-----什么是指针?
  7. 5条简洁的JavaScript技巧
  8. 毕设日志——pytorch版本faster rcnn运行代码前的环境配置2019.4.9
  9. kubeflow fairing详解
  10. python读取txt文件
  11. 朋友让帮忙写个理发店的会员信息管理系统...
  12. 《伸手系列》之arm架构服务器安装kubernetes
  13. 【03】Linux笔记
  14. 小米5s Plus 安装Xposed框架
  15. 《图说区块链》读书笔记(完整版)
  16. wtc java 代码 tpcall(servicename_[转载]Dorado+Spring+Wtc+Tuxedo开发
  17. 问道手游平民玩家什么职业好
  18. Weakly Supervised Deep Learning for Thoracic DiseaseClassification and Localization on Chest X-rays
  19. RAAVPPSPSLSRHSSPHQSEDEEE
  20. 【JOURNAL】怎么计算4万亿

热门文章

  1. 搭建直播带货平台,实现直播间的即时聊天
  2. 解决微信小程序开发者工具报错(https://....com不在以下合法域名列表中请参考文档)
  3. 数据结构实验:内部排序算法的性能分析
  4. English Grammar-奋斗的开始-状语从句 (一)
  5. 03《软件需求模式》
  6. 服务器购买网站vuter,vscode中安装开发html5中需要的插件
  7. STM32F103+TCS3415颜色传感器程序实现
  8. LruCache缓存
  9. LRUCache详解
  10. turtle基础图形绘制2-同心圆套娃正方形蟒蛇连体五角星