Spring Data redis和amqpRebbitmq笔记

编程入门 行业动态 更新时间:2024-10-09 11:28:18

Spring Data redis和amqpRebbitmq<a href=https://www.elefans.com/category/jswz/34/1770047.html style=笔记"/>

Spring Data redis和amqpRebbitmq笔记

springboot + springcloud基本配置

父工程配置pom依赖管理:

<parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.0.6.RELEASE</version><relativePath/> <!-- lookup parent from repository --></parent><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding><java.version>1.8</java.version><spring-cloud.version>Finchley.SR2</spring-cloud.version><mybatis.starter.version>1.3.2</mybatis.starter.version><mapper.starter.version>2.0.2</mapper.starter.version><druid.starter.version>1.1.9</druid.starter.version><mysql.version>5.1.32</mysql.version><pageHelper.starter.version>1.2.3</pageHelper.starter.version><leyou.latest.version>1.0.0-SNAPSHOT</leyou.latest.version><fastDFS.client.version>1.26.1-RELEASE</fastDFS.client.version></properties><dependencyManagement><dependencies><!-- springCloud --><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-dependencies</artifactId><version>${spring-cloud.version}</version><type>pom</type><scope>import</scope></dependency><!-- mybatis启动器 --><dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>${mybatis.starter.version}</version></dependency><!-- 通用Mapper启动器 --><dependency><groupId>tk.mybatis</groupId><artifactId>mapper-spring-boot-starter</artifactId><version>${mapper.starter.version}</version></dependency><!-- 分页助手启动器 --><dependency><groupId>com.github.pagehelper</groupId><artifactId>pagehelper-spring-boot-starter</artifactId><version>${pageHelper.starter.version}</version></dependency><!-- mysql驱动 --><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>${mysql.version}</version></dependency><!--FastDFS客户端--><dependency><groupId>com.github.tobato</groupId><artifactId>fastdfs-client</artifactId><version>${fastDFS.client.version}</version></dependency></dependencies></dependencyManagement><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build>

子工具工程的pom:

	<dependencies><!--spring data redis 启动器 --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId></dependency><!--spring data amqp 启动器 --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-amqp</artifactId></dependency><dependency><groupId>org.slf4j</groupId><artifactId>slf4j-api</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.apachemons</groupId><artifactId>commons-lang3</artifactId></dependency></dependencies>

application.yml:

server:port: 8085
spring:application:name: user-servicedatasource:url: jdbc:mysql://127.0.0.1:3306/leyouusername: rootpassword: 12345driver-class-name: com.mysql.jdbc.Driverredis:host: 127.0.0.1rabbitmq:virtual-host: /leyouhost: 127.0.0.1username: leyoupassword: leyou
eureka:client:service-url:defaultZone: http://127.0.0.1:10086/eurekainstance:lease-renewal-interval-in-seconds: 5lease-expiration-duration-in-seconds: 15mybatis:type-aliases-package: com.leyou.user.pojo

redis的使用:

(1)引入spring data redis依赖
(2)注入StringRedisTemplate:

 @Autowiredprivate StringRedisTemplate redisTemplate;

(3)调用该类中的方法:

//把验证码保存到redis中(5分钟)
this.redisTemplate.opsForValue().set(KEY_PREFIX + phone, 123456, code, 5, TimeUnit.MINUTES);

RabbitMQ的使用:

(1)引入spring data amqp依赖
(2)注入AmqpTemplate:

@Autowired
private AmqpTemplate amqpTemplate;

(3)生产者(有生产者就必须要有消费者):

//发送消息到rabbitMQ
HashMap<String, String> msg = new HashMap<>();
msg.put("phone", phone);
msg.put("code", code);
amqpTemplate.convertAndSend("leyou.sms.exchange", "verifycode.sms", msg);

(4)消费者(一旦监听到有exchange和key跟该方法上注解保持一致,就直接执行该方法):

@Component
public class SmsListener {@Autowiredprivate SmsUtils smsUtils;@Autowiredprivate SmsProperties smsProperties;@RabbitListener(bindings = @QueueBinding(value = @Queue(value = "leyou.sms.queue", durable = "true"),exchange = @Exchange(value = "leyou.sms.exchange", ignoreDeclarationExceptions = "true"),key = {"verifycode.sms"}))public void sendSms(Map<String, String> msg) throws ClientException {if(CollectionUtils.isEmpty(msg)){return ;}String phone = msg.get("phone");String code = msg.get("code");if(StringUtils.isNoneBlank(phone) && StringUtils.isNoneBlank(code)){this.smsUtils.sendSms(phone, code, this.smsProperties.getSignName(), this.smsProperties.getVerifyCodeTemplate());}}}

更多推荐

Spring Data redis和amqpRebbitmq笔记

本文发布于:2024-02-06 13:14:15,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1748811.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:笔记   Data   Spring   amqpRebbitmq   redis

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!