Redis实战【黑马点评】p37
@Service
public class ShopTypeServiceImpl extends ServiceImpl<ShopTypeMapper, ShopType> implements IShopTypeService {
@Resource
private StringRedisTemplate stringRedisTemplate;
@Override
public Result queryList() {
List<String> typeList = stringRedisTemplate.opsForList().range(SHOP_TYPE_KEY, 0, -1);
if (!typeList.isEmpty()) {
List<ShopType> shopTypes = typeList.stream()
.map(shopType -> JSONUtil.toBean(shopType, ShopType.class))
.collect(Collectors.toList());
return Result.ok(shopTypes);
}
List<ShopType> shopTypes = this.query().orderByAsc("sort").list();
if (shopTypes.isEmpty()) {
return Result.fail("商家分类数据为空");
}
List<String> jsonList = shopTypes.stream()
.map(shopType -> JSONUtil.toJsonStr(shopType))
.collect(Collectors.toList());
stringRedisTemplate.opsForList().rightPushAll(SHOP_TYPE_KEY, jsonList);
return Result.ok(shopTypes);
}
}