对象类型的数据缓存
String key = CACHE_SHOP_KEY + id;
// 1.通过key从redis中查询缓存是否存在
String shopJson = stringRedisTemplate.opsForValue().get(key);
// 2.判断是否存在
if (StrUtil.isNotBlank(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));
列表类型缓存遇到类似商品类型数据时使用
String key = CACHE_SHOPTYPE_KEY;
// 1.从redis中查询商铺类型缓存
Listrange = stringRedisTemplate.opsForList().range(key, 0, -1);// 获取所有值
// 2.判断是否存在
if (CollUtil.isNotEmpty(range)) {ListtypeList = range.stream().map(item ->JSONUtil.toBean(item, ShopType.class)).collect(Collectors.toList());
return typeList;
}
// 4.不存在,在数据库中查找
ListtypeList = query().orderByAsc("sort").list();
// 6.存在,写入redis
ListresList = typeList.stream().map(item ->JSONUtil.toJsonStr(item)).collect(Collectors.toList());
stringRedisTemplate.opsForList().rightPushAll(key, resList);
持续更新
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧
售后响应及时
7×24小时客服热线数据备份
更安全、更高效、更稳定价格公道精准
项目经理精准报价不弄虚作假合作无风险
重合同讲信誉,无效全额退款