当前位置:首页 > 行业知识 > 数码

redis与mysql怎样保证数据一致

关注:10 发布时间:2022-01-24 13:04:10

1、技术的整体思维。

mysql binlog增量订阅将消息队列增量数据更新消耗到redis

1)读取redis:热数据基本在redis中

2)写mysql:增删改就是操作mysql

redis与mysql怎么保证数据一致

3.更新redis数据:mysq操作binlog更新到redis

2.redis已更新。

1)数据操作主要分为两个块:

一个是满量(所有数据一次写入redis)

一种是增量式(实时更新)

这里的增量是指mysql的更新、插入和延迟变更数据。

2)读取binlog后进行分析,利用消息队列推送更新各站redis缓存数据。

这样,一旦mysql中出现写入、更新、删除等新操作,就可以将binlog相关的消息推送到redis,然后redis根据binlog中的记录更新redis。

这个机制其实和mysql的主从备份机制很像,因为mysql的主从备份也是通过binlog实现数据一致性的。

这里可以组合使用canal(阿里的一个开源框架),通过它可以订阅mysql binlog,canal模仿mysql从数据库的备份请求,使得redis的数据更新达到同样的效果。

猜你喜欢

  • sql数据库简单方法与大家分享(如何导入导出)

    sql数据库简单方法与大家分享(如何导入导出)96人支持

    1.右键单击sql server组,然后单击新建sql server注册2.输入您购买的数据库的ip地址,然后单击添加和下一步3.单击第二项“(sql server身份验证)”和“下一步”4.输入您的数据库用户名和密码(在购买时填写),单击“下一步”,然后单击“完成”5.数据库连…

  • redis与mysql怎样保证数据一致

    redis与mysql怎样保证数据一致10人支持

    1、技术的整体思维。mysql binlog增量订阅将消息队列增量数据更新消耗到redis1)读取redis:热数据基本在redis中2)写mysql:增删改就是操作mysql3.更新redis数据:mysq操作binlog更新到redis2.redis已更新。1)数据操作主要分为两个块:一个是满量(所有数…

  • 数据库中引号的用法(sql语句引号用法)

    数据库中引号的用法(sql语句引号用法)44人支持

    1.首先说单引号和后引号。此处的“图书id”使用单引号,并且2.创建表格“书”这里的书使用了反引号。3.单引号:单引号用于示例中条件值的周围。sql使用单引号将文本值括起来。如果是数值,请不要使用引号。换句话说,varchar类型(string,string type)应该在…