软件开发 RedisMySQL

MySQL写到Redis读的过程是实时还是异步?

请问各位大拿,实际生产环境中,MySQL写到Redis读的过程是实时还是异步?即Redis是否需要立刻支持读到前端写的数据?如果是异步的,时延一般是多少,比如XX秒还是XX分钟?

参与25

8 同行回答

罗文江 罗文江 课题专家组 云计算架构师 某银行
部署架构上,采用异步模式:mysql---->canal--->kafka--->redis。redis:定位是cache缓存,因此实时双写没有必要,且对业务系统写操作的侵入性太大。显示全部

部署架构上,采用异步模式:mysql---->canal--->kafka--->redis。

redis:定位是cache缓存,因此实时双写没有必要,且对业务系统写操作的侵入性太大。

收起
银行 · 2024-03-24
浏览471
wangzk0206 wangzk0206 联盟成员 数据库管理员 scrcu
一般都是异步的吧。一般都是要么双写,读的时候先读redis,读不到再去mysql库读吧。如果业务场景很特殊的话,可能具体问题要具体分析了。显示全部

一般都是异步的吧。一般都是要么双写,读的时候先读redis,读不到再去mysql库读吧。如果业务场景很特殊的话,可能具体问题要具体分析了。

收起
银行 · 2024-03-07
浏览636
  • 匿名用户
    100W条Sysbench对应2100TPS,跟之前和老师们对过的典型压力范围差不多,不算太大压力 100W条写入的时间是一分钟左右,但写到Redis要花一小时,主要是这个瓶颈问题比较明显
    2024-03-13
  • wangzk0206  wangzk0206 回复 匿名用户
    异步写要看你写redis逻辑吧,写mysql 是一条一条insert?那什么程序去写的redis哪?
    2024-03-15
  • 匿名用户
    是通过canal中间件由mysql同步到redis的方案。是否这个方案不是最理想的?
    2024-03-20
  • wangzk0206  wangzk0206 回复 匿名用户
    首先去研究下canal是否有什么参数设置,排查是抽取mysql慢,还是写入redis慢。一般这个是有参数设置的。如果是redis写入慢,看是否尝试采用集群版本会不会好些。因为这种瞬时批量同步的场景,我们没有用过。
    2024-03-22
顾黄亮 顾黄亮 课题专家组 技术总监 畅销书作者
除了双写以外,其他的方式都是异步,看数据结构和数据量,通常耗时都是MS,遇到慢日志,会到S级显示全部

除了双写以外,其他的方式都是异步,看数据结构和数据量,通常耗时都是MS,遇到慢日志,会到S级

收起
银行 · 2024-03-06
浏览668
anikikong anikikong 课题专家组 数据库运维工程师 中国民生银行
一般是异步的,通过定时同步更新到redis里面,也有通过工具实时同步的,但也算是异步的。如需真的实时同步,需要应用对数据做双写处理显示全部

一般是异步的,通过定时同步更新到redis里面,也有通过工具实时同步的,但也算是异步的。如需真的实时同步,需要应用对数据做双写处理

收起
银行 · 2024-03-05
浏览681
  • 匿名用户
    请问异步时延一般是多少呢?比如是10分钟?半小时?谢谢您
    2024-03-05
  • anikikong  anikikong 回复 匿名用户
    这个得看应用。大部分应用都是配置数据缓存,基本不会修改。一事一议吧
    2024-03-05

ChatGPT 回答

在实际生产环境中,MySQL写到Redis读的过程一般是异步的。这是因为MySQL和Redis是两个不同的系统,它们之间的数据传输需要经过网络传输等多个环节,因此无法做到实时同步。

在异步的情况下,Redis读到前端写的数据的时延取决于多个因素,比如Redis和MySQL之间的网络延迟、Redis服务器的负载情况、Redis的持久化策略等等。一般来说,时延可能会在几毫秒到几秒之间,但具体的数值还需要根据实际情况进行测试和评估。如果需要更快的读取速度,可以考虑使用Redis的主从复制或者集群模式,以提高读取性能和可用性。

相关问题

相关资料

相关文章

问题状态

  • 发布时间:2024-03-04
  • 关注会员:9 人
  • 问题浏览:2748
  • 最近回答:2024-04-28
  • X社区推广