以redis为例:
缓存失效(正常数据):可通过分布式锁,当缓存失效时,请求过来,则同一个设定的key进行setnx(),成功则查询db并设置缓存。失败则等待消息返回。
不存在的数据:可通过设置一个默认值null,加一个失效时间。