0.我们只能保证最终一致性,不保证强一致性,解决方案有3种
1.使用分布式锁抢占锁,先更新mysql成功后,删除redis数据,最后释放锁
2.使用mq,先更新mysql,然后发送mq消息,接收mq消息后,删除redis,mq发送失败进行重试,
重试多次还是失败,预警飞书群,人工手动重试
3.使用canal中间件,mysql写入成功中后,监听binlog,删除redis数据
4.redis的写入,是在查询的时候写入到缓存,此时mysql和redis保证了最终一致性
redis和mysql如何保证数据一致性?