黑馬程序員Redis入門到實(shí)戰(zhàn)教程,深度透析redis底層原理+redis分布式

P37練習(xí),歡迎大家互相學(xué)習(xí)討論一下
public Result queryList() { List<ShopType> typeList = new ArrayList<>(); // 1.從Redis中獲取列表數(shù)據(jù) List<String> typeListStr = stringRedisTemplate.opsForList().range(CACHE_TYPE_LIST, 0, -1); // 2.判斷是否存在 if (!typeListStr.isEmpty()) { // 3.如果存在,則直接返回 for (String str : typeListStr) { typeList.add(JSONUtil.toBean(str, ShopType.class)); } return Result.ok(typeList); } // 4.如果不存在,從數(shù)據(jù)庫查詢 LambdaQueryWrapper<ShopType> lambdaQueryWrapper = new LambdaQueryWrapper<>(); typeList = list(lambdaQueryWrapper); // 5.如果不存在,返回錯(cuò)誤信息 if (typeList.isEmpty()) { return Result.fail("不存在類型"); } // 6.將數(shù)據(jù)存入Redis中 for (ShopType shopType : typeList) { typeListStr.add(JSONUtil.toJsonStr(shopType)); } stringRedisTemplate.opsForList().leftPushAll(CACHE_TYPE_LIST, typeListStr); // 7.返回 return Result.ok(typeList); }
標(biāo)簽: