写请求,先写缓存,数据状态标记为冻结中,缓存写成功后写数据库,数据库写失败回滚缓存,数据库写成功后更新缓存数据状态就生效中。
假设写成功缓存后,但是还没有写成功数据库,其他请求读取了缓存数据,因为缓存中的状态是冻结中,就不能使用,只能显示。
更新请求,先更新缓存,缓存中数据状态为更新中,数据库写成功/失败后,再更新缓存状态。
状态为更新中的缓存,读取后不能操作,只能显示使用。
删除缓存,先将缓存中的数据,设置为删除中,数据库删除成功/失败后,再更新缓存状态。
状态为更新中的数据,不能使用,只能显示。