Cache-Aside 模式为什么要删缓存而不是更新缓存

因为我们在读缓存的时候,如果不成功肯定会有通过数据库更新缓存的步骤,如果在修改数据库的时候还要修改缓存,就有些多此一举了,而且这一举并不轻松。另外,保证 mysql-redis 一致性十分麻烦,参考 cpu 缓存一致性,需要 MESI 协议,十分麻烦且浪费性能,这还是在单独的 CPU 内部,而 mysql 和 redis 甚至还需要通过网络通信,而网络不一定可靠。因此,无论怎么搞,mysql 和 redis 之间都会有不一致的问题,就没有必要在写入的时候多此一举,同步 redis 了。网上所说,需要通过 redis 的场景主要是,预防热点问题,但其实,一般很难有这么高的并发需求。

https://www.zhihu.com/question/596986033

posted @ 2025-06-09 11:05  光風霽月  阅读(13)  评论(0)    收藏  举报