数据库、缓存一致性解决方案

先删缓存,因为有的缓存计算耗时比较大。修改缓存可能缓存计算时间较长。 一种原因。 修改时间较短呢?

正常情况下,可能出现不一样。非正常情况,也可能出错。

无法完美解决,没解决一个问题,就会带来另外问题,

内存队列,会话一致性。

网络io,引发长事务问题。

1 修改(时间长短)还是删除?

2 顺序问题?先缓存,后db。先db,后缓存。

同时成功,同时失败,不重要,业务层感知。

队列保证指令有序性,一个请求必须在同一台机器,有序。

把问题留给上层。而不是机制以解决。

同步:cache sdies,通读,通写 异步:后写,队列

缓存更新方案:cache asides,通读,通写,后写。

异步队列写。

缓存更新的套路。