1.多个异步请求,导致多并发脏读/空读
问题描述
新增产品的信息,写入数据库;
更改产品的信息,从数据库读取到缓存,从缓存读取信息,无产品信息。
问题原因
进入更改产品的页面时,会读取数据库并写入缓存(写缓存),同时进行的是从缓存加载产品信息(读缓存),因为读缓存操作比写缓存时间早,所以导致空读。
问题解决
方法一. 前端变为同步请求,等待写缓存操作完成了,再发送读缓存操作
方法二. 使用消息队列,通过消息排序处理(待更新)
方法三. 后台通过关键字识别请求,等待写操作完成再进行读操作(待更新)