过期就设置一把锁,只能有一个线程去重建缓存,其他线程阻塞或者超时返回