博主看了黑马点评的“P37 实战篇-商户查询缓存-03.缓存练习题分析”作业,做了将近一天之后把四种类型的实现方法都实现了一遍,目前标榜是全网最全的作业解答,有更牛的大佬欢迎指正/挑战! 谢谢。
一、String型:
// (1)↓~-用String类型,opsForValue缓存的
String key = "Cache:TypeList:String";
//@ZYL:先查找缓存
String shopTypeJson = stringRedisTemplate.opsForValue().get(key);
//@ZYL:缓存找到了就直接返回
if (StrUtil.isNotBlank(shopTypeJson)) {
List<ShopType> shopTypeList = JSONUtil.toList(shopTypeJson, ShopType.class);
return shopTypeList;
}
//@ZYL:缓存找不到(隐含逻辑:if判断失败了,此处相当于else部分 ),再找数据库
List<ShopType> shopTypeList = query().orderByAsc("sort").list();
stringRedisTemplate.opsForValue().s