数据库缓存如何保证一致性 先新数据库再更新缓存。问题:更新数据库后,更新缓存时,如果数据库数据又变更了,那缓存里就更新成脏数据了。 先删除缓存,然后再更新数据库。删除缓存后,进行更新数据库时,如果一个请求来了,它在缓存中没命中,就会去数据库中查找,并把查到的数据更新到缓存里,随后数据库才更新完毕,这就导致缓存里的数据又成为脏数据了,而且会一直脏下去。 先更新数据库,成功后,让缓存失效。只有当读缓存时,数据库又进行了写,才会导致缓存里存入脏数据,但一般情况下数据库的写操作是比读操作慢的,所以发生这种问题的几率并不高。(可以通过2PC或是Paxos协议保证一致性解决)