- 什么是缓存?
缓存就是数据交换的缓冲区(称作Cache),是存贮数据的临时地方,一般读写性能较高。
缓存数据存储于代码中,而代码运行在内存中,内存的读写性能远高于磁盘,缓存可以大大降低用户访问并发量带来的服务器读写压力。

但是缓存也会增加代码复杂度和运营的成本:

添加商户缓存

JAVA
/**
* 根据id查询数据。
*
* 作用:
* 1.从Redis查询商铺缓存;
* 2.判断是否存在;
* 3.存在,直接返回;
* 4.不存在,根据id查询数据库;
* 5.不存在,返回错误;
*
* @param id业务id
* @return处理结果
*/
@Override
public Result queryById(Long id) {
String key=RedisConstants.CACHE_SHOP_KEY+id;
//1.从Redis查询商铺缓存
String shopJson=stringRedisTemplate.opsForValue().get(key);
//2.判断是否存在
if(StrUtil.isNotEmpty(shopJson)){
//3.存在,直接返回
Shop shop= JSONUtil.toBean(shopJson,Shop.class);
return Result.ok(shop);
}
//4.不存在,根据id查询数据库
Shop shop=getById(id);
//5.不存在,返回错误
if(shop==null){
return Result.fail("店铺不存在");
}
//6.存在,写入Redis
stringRedisTemplate.opsForValue().set(key,JSONUtil.toJsonStr(shop));
//7.返回
return Result.ok(shop);
}对于店铺详细这类变化较为频繁的数据,我们是直接存入Redis中,后面还会进行优化,设置合适的缓存更新策略,确保Redis和MySQL的数据一致性,以及解决缓存常见的三大问题。
