赞
踩
其实先操作缓存或者数据库都会有几率失败,要考虑的就是失败后如何处理的的问题。
能接受的方式是延时双删
就是先删除缓存,再更新数据库,然后再删除缓存。
这样可以做到极端状况下只有一小部分时间存在延时。
如果第二次删除会失败的话,考虑增加队列和重试机制。
也可以使用mysql的日志文件,订阅日志文件,在删除数据库数据后,使用日志文件中的命令记录来操作缓存