1、为什么要进行两次删除缓存呢?
为了保证缓存和数据库的一致性。因为不管是先修改数据库还是先删缓存都会导致数据库和缓存的值不同。而两次删除缓存会避免这种情况发生。但是一般情况下数据库都是主从分离的,所以可能出现主从数据库数据不一致的情况。
2、为什么要进行延迟双删呢?
一般情况下数据库都是主从分离的,所以可能出现主从数据库数据不一致的情况。为了避免这种情况,就会延迟一会,等待主节点同步到从节点。所以要延时,但是这个延时时间不好控制,在这个过程中依然可能会出现脏数据。所以延时双删只是控制减少了脏数据的出现,但无法避免脏数据的出现。