爱收集资源网

缓存与数据库:解决一致性难题

网络整理 2023-09-27 21:04

在运用缓存的时侯很大的一个问题是与数据库的事务一致性问题,网上也找了些文章看了下,但是基本上谈的是正常服务器运行状态下出现的异常处理,我在思索的是硬件或则容器本身出现异常造成程序运行中断,这种情况下怎样处理缓存和数据库一致性问题?可能好多项目里缓存只是作为一个快速读取减少服务器压力的一个工具,缓存只作为数据库数据的一个备份钛备份 现在不能改id了,缓存有问题待会儿过期了数据库再同步也是没问题的。但是我如今的项目中把缓存数据弄成了业务数据,这就导致了个别场景下直接用缓存操作业务相关的数据,然后再存入数据库,而另一些场景则是数据库先更新,然后变更缓存,这就要求缓存中的业务数据不能错,而且设计成了永不过期。正常运行的情况下即使有异常也能用自动控制事务来回滚,但是假如是意外情况造成程序崩溃这样就很有可能导致数据库和缓存的不一致,而重启后怎么同步这种缓存数据也是头痛的事情钛备份 现在不能改id了,一方面是这些异常究竟导致哪些数据不一致是不知道的,人工也不可能直接查下来,想要找到有问题的数据但是恢复会很难,但是假如不及时发觉并恢复都会导致严重的生产问题,另外一个是缓存是没有有效期的,而且不能把数据库中的数据直接覆盖缓存,因为集群环境下还有其他业务在操作缓存数据。感觉很难有一个完美的解决方案彻底避免,主要是把缓存当成了业务处理的数据就有好多麻烦,但是曾经如此设计是为了并发减少数据库压力,不知道有谁有这方面的经验,缓存假如用作业务数据的操作怎样能保证数据一致性?

钛备份 现在不能改id了_钛备份备份数据_钛备份不更新了

钛备份 现在不能改id了
上一篇:VC++设计聊天室完整教程 下一篇:没有了
相关文章