`

springboot使用redis缓存

阅读更多
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);

	}

}




搞定。
分享到:
评论

相关推荐

    springboot-redis缓存+分布锁

    总的来说,"springboot-redis缓存+分布锁"项目是学习如何在SpringBoot应用中使用Redis进行缓存管理和实现分布式锁的绝佳实践。通过这个项目,你可以深入了解SpringBoot的集成特性,以及Redis在高并发场景下的重要...

    Springboot加Redis缓存实现

    总的来说,"Springboot加Redis缓存实现"项目展示了如何在Spring Boot应用中集成并使用Redis作为缓存系统,提高了数据读取效率,同时也提供了数据库操作和API测试的全套方案。理解并掌握这个项目中的知识点,对于开发...

    SpringBoot项目 MybatisPlus使用 Redis缓存.zip

    本项目中,我们看到“SpringBoot项目 MybatisPlus使用 Redis缓存.zip”主要涉及了SpringBoot、MybatisPlus和Redis三个核心组件,它们在实际开发中扮演着重要角色。 首先,SpringBoot是Spring框架的一种简化版,它...

    springboot整合Redis缓存源代码

    SpringBoot整合Redis缓存是Java开发中常见的技术实践,它...总的来说,SpringBoot整合Redis缓存是一个涉及配置、注解使用、自定义缓存策略等多个方面的过程,理解并熟练掌握这些知识点对于提升Java应用的性能至关重要。

    最最最简单的SpringBoot+Redis

    标题 "最最最简单的SpringBoot+Redis" 描述了如何在SpringBoot项目中集成和使用Redis,这是一个流行的Java开发框架和一个...通过这些步骤,开发者可以轻松地在SpringBoot应用中集成Redis,实现高效的数据缓存和持久化。

    springboot整合redis集群零配置

    本篇文章将深入探讨如何在Spring Boot中实现对Redis集群的零配置整合,并介绍使用AOP实现的自定义缓存注解。 首先,让我们来看看"Springboot整合Redis集群,零配置方式"。在Spring Boot中,我们可以通过引入`spring-...

    SpringBoot 整合 Redis、mybatis 完整项目源码下载

    4. **Redis缓存配置**: 可以使用`@Cacheable`、`@CacheEvict`、`@CachePut`等注解实现方法级缓存,提升应用性能。 5. **RedisUtil工具类**: 封装通用的Redis操作,如设置、获取、删除键值对等,便于代码复用和管理...

    springboot整合redis、mybatis以及redis和mybatis的联合使用

    3、自定义redis KEY生成器/CacheManager来管理redis缓存 4、分布式redis-session共享 5、springboot实现初始化加载配置(实现缓存预热)的两种方式 6、二级缓存联合使用 方式一:redis原生方法工具类(RedisService...

    springboot_redis

    5. **Redis缓存**:Spring Boot可以方便地实现缓存管理,将方法的返回结果存储在Redis中,下次调用时直接从缓存获取,提高性能。 ```java @Cacheable(value = "myCache") public MyObject myMethod(MyParam param) ...

    SpringBoot集成Redis

    在本项目中,我们将探讨如何在SpringBoot应用中配置和使用Redis,以及如何利用Redis实现登录缓存功能。 首先,集成SpringBoot与Redis的关键在于添加依赖。在`pom.xml`或`build.gradle`文件中,我们需要引入Spring ...

    本科毕业设计项目,结合springboot和redis缓存设计的高校选课系统.zip

    本科毕业设计项目,结合springboot和redis缓存设计的高校选课系统

    SpringBoot+redis+RabbitMq整合实例

    5. 实现业务逻辑:在需要使用Redis的地方,可以直接注入RedisTemplate进行数据操作。对于RabbitMQ,可以定义消息监听器或者发送消息的方法,根据业务需求进行消息的生产和消费。 6. 测试和优化:编写测试用例,验证...

    springboot+redis+token保持登录

    在现代Web应用开发中,保持用户登录状态是一个常见的需求,"springboot+redis+token保持登录"的主题就涉及到了如何利用Spring Boot、Redis以及Token技术来实现这一功能。本文将详细探讨这一技术栈的实现原理和步骤。...

    springboot与redis整合

    - **使用Redis缓存**:可以利用`@Cacheable`、`@CacheEvict`、`@CachePut`等注解实现方法级别的缓存管理,提高应用性能。 - **ReactiveRedisTemplate**:如果使用的是SpringBoot 2.x及以上版本,还可以利用响应式...

    mqtt+springBoot+redis消息处理,亲测整理上线

    在本文中,我们将深入探讨如何使用`MQTT`(Message Queuing Telemetry Transport)协议与`SpringBoot`框架集成,并利用`Redis`作为缓存来处理消息。`MQTT`是一种轻量级的发布/订阅消息协议,常用于物联网(IoT)设备...

    SpringBoot整合Redis大全

    SpringBoot与Redis的整合,能够让我们在微服务架构中轻松实现数据的高速读写和高效缓存。 ### 一、SpringBoot集成Redis的基本步骤 1. **添加依赖**: 在`pom.xml`文件中引入Spring Data Redis和Spring Boot的Redis ...

    myredis_redis_springboot_springboot+Redis_DEMO_

    三、SpringBoot的Redis缓存 在SpringBoot中,可以利用Redis实现高效的缓存机制,提高应用性能。通过`@Cacheable`, `@CacheEvict`, `@CachePut`等注解,可以在方法级别控制缓存的读写和清除。例如,`@Cacheable`注解...

    springboot集成redis集群,redis安装包配置

    首先,Redis是一个开源的、基于键值对的数据存储系统,常用于数据库、缓存和消息中间件。它以其高性能和易用性而备受青睐。SpringBoot简化了与Redis的集成,使得开发过程更为流畅。 集成SpringBoot与Redis集群的第...

    练习springboot-redisdemo添加了拦截器

    通过这个项目,你可以了解到如何在 SpringBoot 中配置和使用 Redis 实现数据缓存,同时学习到如何添加拦截器来控制请求流程,提高应用的灵活性和可扩展性。这对于提升你的 SpringBoot 开发技能以及理解 Redis 在实际...

Global site tag (gtag.js) - Google Analytics