controller中调用service的queryList()方法:
public Result queryList() {
//1.从缓存中获取所有店铺的列表
String operations = stringRedisTemplate.opsForList().leftPop(CACHE_SHOP_TYPE_KEY);
if (operations != null){
return Result.ok(JSONUtil.toList(operations,ShopType.class));
}
//2.从数据库中获取所有店铺的列表
List<ShopType> list = query().orderByDesc("sort").list();
if (list.isEmpty()){
return Result.fail("店铺信息未找到");
}
stringRedisTemplate.opsForList().leftPush(CACHE_SHOP_TYPE_KEY,JSONUtil.toJsonStr(list));
//3.返回到前端页面
return Result.ok(list);
}
}
这里可以 直接向前端页面返回list,前端可以自动解析list中的数据,结果呈现为json
以上即为用list实现缓存。