黑馬程序員Redis入門到實(shí)戰(zhàn)教程,深度透析redis底層原理+redis分布式
2023-06-26 17:51 作者:碩努力變強(qiáng) | 我要投稿

p37使用list結(jié)構(gòu) 配合stream流完成作業(yè)
@Override public Result listShopType() { //從Redis查 List<String> shopTypeCache = stringRedisTemplate.opsForList().range(CACHE_SHOP_TYPE_KEY, 0, -1); if (!CollectionUtils.isEmpty(shopTypeCache)){ //如果存在 返回?cái)?shù)據(jù) List<ShopType> collect = shopTypeCache.stream().map((item) -> { ShopType shopType1 = JSONUtil.toBean(item, ShopType.class); return shopType1; }).collect(Collectors.toList()); return Result.ok(collect); } // 如果不存在 去數(shù)據(jù)庫(kù)查 List<ShopType> shopTypeList = lambdaQuery().orderByAsc(ShopType::getSort).list(); if (CollectionUtils.isEmpty(shopTypeList)){ return Result.fail("店鋪分類信息為空"); } // 將對(duì)象轉(zhuǎn)換成json List<String> stringList = shopTypeList.stream().map((item) -> { String jsonShopType = JSONUtil.toJsonStr(item); return jsonShopType; }).collect(Collectors.toList()); //保存到redis stringRedisTemplate.opsForList().leftPushAll(CACHE_SHOP_TYPE_KEY,stringList); stringRedisTemplate.expire(CACHE_SHOP_TYPE_KEY,2400, TimeUnit.MINUTES); return Result.ok(shopTypeList); }
標(biāo)簽: