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); }