欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

springboot使用redis缓存

程序员文章站 2022-06-22 15:41:28
...
springboot使用redis,一般来说,还算是比较简单的,可以采用配置的方式,也可以使用代码注解的方式,我直接用的注解:

首先在pom中添加maven依赖:

<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-data-redis</artifactId>
		</dependency>


在启动类****Application上添加对应的注解:

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cache.annotation.Cacheable;

@SpringBootApplication
@Cacheable
public class WechatsellApplication {

	public static void main(String[] args) {
		SpringApplication.run(WechatsellApplication.class, args);
	}
}




在需要添加的方法上,添加对应的注解:

@RestController
@RequestMapping("/buyer/product")
public class BuyerProductController {

	@Autowired
	private ProductCategoryService productCategoryService;

	@Autowired
	private ProductInfoService productInfoService;

	@SuppressWarnings("unchecked")
	@GetMapping("/list")
	@Cacheable(cacheNames = "product", key = "productKey")
	public ResultVo<List<ProductVO>> list() {

		/**
		 * 查询所有上架的商品
		 */
		List<ProductInfo> productInfoList = productInfoService.findUpAll();

		/**
		 * 查询类目
		 */
		/***
		 * java8 lambda
		 */
		List<Integer> categoryTypeList = productInfoList.stream().map(e -> e.getCategoryType())
				.collect(Collectors.toList());

		List<ProductCategory> productCategoryList = productCategoryService.findByCategoryTypeIn(categoryTypeList);

		/**
		 * 拼装数据
		 */
		List<ProductVO> productVOList = new ArrayList<>();
		for (ProductCategory productCategory : productCategoryList) {
			ProductVO productVO = new ProductVO();
			productVO.setCategoryType(productCategory.getCategoryType());
			productVO.setCategoryName(productCategory.getCategoryName());

			List<ProductInfoVO> productInfoVOList = new ArrayList<>();
			for (ProductInfo productInfo : productInfoList) {
				if (productInfo.getCategoryType().equals(productCategory.getCategoryType())) {
					ProductInfoVO productInfoVO = new ProductInfoVO();
					BeanUtils.copyProperties(productInfo, productInfoVO);
					productInfoVOList.add(productInfoVO);
				}
			}
			productVO.setProductInfoVOList(productInfoVOList);
			productVOList.add(productVO);
		}

		return ResultVoUtil.success(productVOList);

	}

}




搞定。