如何解决cache与db不同步的问题

像memcached用到的是cache aside,如果db发生了更新,就会去invalidate memcached里面的key。所以下次去读data就会先从db里面读取。但是这只解决了当用户知道key要去拿value的时候。

但是比如用户新发了一条朋友圈,这条朋友圈被存在了db,而用户之前的朋友圈被存在了cache里面。那当其他人去读用户的朋友圈的时候,他们并不知道这条新朋友圈的存在。我知道可能的解决方案有cache through,但是这样不就影响写入的效率了吗?如果本身使用的cache aside,那么怎么解决这个问题呢

Write back cache 可以既写入快又不会出现 stale data。如果使用 cache aside,一般是需要允许有 stale data 的,不需要每次去 invalidate key,而是设置 TTL。