Redis---保证主从节点一致性问题 +与数据库数据保持一致性问题

保证主从节点一致性问题

Redis的同步方式默认是异步的,这种异步的同步方式导致了主从之间的数据存在一定的延迟,因此Redis默认是弱一致性的。
解决:
1.使用Redisson这样的工具,它提供了分布式锁的实现,确保在分布式环境中锁的正确性。
2.在Redis的配置中,我们可以设置必须有多少个客户端连接能够成功同步,这就是所谓的同步因子。通过合理配置同步因子,我们可以趋向于强一致性,减少主从之间的数据延迟。
3.使用命令 wait 2 0。这个命令会导致从节点等待一段时间来进行同步,但如果时间设置得不当,可能会导致数据同步的问题。因此,在使用这个命令时,我们需要谨慎设置等待时间,以免影响主从之间的数据一致性。

上述提到的“同步因子”和“wait命令”在某种程度上违背了Redis的初衷。Redis作为一款高性能的缓存和键值存储系统,其异步的同步方式和弱一致性正是为了追求更高的性能和吞吐量。如果我们需要更强的一致性,可能需要考虑其他的方案或者重新评估我们的架构设计。

与数据库数据保持一致性问题

如何保障redis和mysql的数据一致?
结论:在满足实时性的条件下,不存在两者完全保存一致的方案,只有最终一致性方案。
Redis---保证主从节点一致性问题 +与数据库数据保持一致性问题_第1张图片

  1. 先写 MySQL,再写 Redis:数据不一致

你可能感兴趣的:(项目,数据库,redis,缓存)