1. 业务更新:
更新完mysql之后,去更新redis
优点:逻辑简单,代码实现简单
缺点:不能保证实时,当数据量大的时候,而且redis中的是热点数据(频繁读写),性能低
2. canal
mysql数据进行写,更新及删除操作,canal通过监听binlog日志(模拟从库监听),去监听修改,然后修改redis
通过canal来解析binlog,监测数据库中的表结构数据变化,从而更新nosql,可以做到准实时,api完全解耦
3. mq(rabbitmq)
业务逻辑解耦,做到准实时,保证数据库和redis的数据一致性
1) 确保mysql和redis数据一致
2)消息消费 ack机制