说白了 这是两个数据容器之间数据同步问题。
既当其中一个容器中数据发生改变另一个怎么做到数据一致。
**首先是没有办法保证强一致性的。**截止2018年10月28日20:59:05 位置,还没有听说过在保证相应速度的 前提下做到数据强一致性的方案。
**其次强一致性是没有必要的:**因为我们给系统加缓存的目的不是为了保证数据的强一致性,而是提升相应速度。
实际上这是一个业务问题既,在效率和准确率之间做一个合理的取舍。
那么怎么减少数据不一致问题呢?
这里首先要弄清两个问题:
1、为保证数据一致性,是更新缓存,还是让缓存失效
2、数据库和缓存两者的操作顺序是怎么样的。既先操作数据库,还是先操作缓存?
这里就要遵循一个原则:代价最小原则
通俗一点讲就是怎么方便怎么来。说一千道一万,这是一个业务场景问题。建议各位找你们研发部的同事做一个权衡。