数据库、缓存一致性解决方案
先删缓存,因为有的缓存计算耗时比较大。修改缓存可能缓存计算时间较长。 一种原因。 修改时间较短呢?
正常情况下,可能出现不一样。非正常情况,也可能出错。
无法完美解决,没解决一个问题,就会带来另外问题,
内存队列,会话一致性。
网络io,引发长事务问题。
1 修改(时间长短)还是删除?
2 顺序问题?先缓存,后db。先db,后缓存。
同时成功,同时失败,不重要,业务层感知。
队列保证指令有序性,一个请求必须在同一台机器,有序。
把问题留给上层。而不是机制以解决。
同步:cache sdies,通读,通写 异步:后写,队列
缓存更新方案:cache asides,通读,通写,后写。
异步队列写。
缓存更新的套路。