1.什么是缓存
缓存就是数据交换的缓冲区(Cache),是存储数据的临时地方,一般读写性能较高

2.添加redis缓存

@Autowired
private StringRedisTemplate stringRedisTemplate;
/**
* 通过id查询商户信息
* @param id
* @return
*/
@Override
public Result queryById(Long id) {
//1.直接从redis中查询商铺id
String json = stringRedisTemplate.opsForValue().get(CACHE_SHOP_KEY + id);
//2.判断redis中是否有
if(StringUtils.isNotBlank(json)){
//3.如果有直接返回查询结果
//将json格式转换为对象
Shop shop = JSONUtil.toBean(json, Shop.class);
return Result.ok(shop);
}
//4.如果没有 从数据库中查
Shop sp = this.getById(id);
if(sp==null){
//5.数据库中没有直接返回错误信息
return Result.fail("信息错误");
}
//6.将数据信息保存到redis中
//将sp转化为json格式
String shopJson = JSONUtil.toJsonStr(sp);
stringRedisTemplate.opsForValue().set(CACHE_SHOP_KEY + id,shopJson);
//7.将信息返回给客户端
return Result.ok(sp);
}


















