首页 > 数据库 >java redis 短信业务应用

java redis 短信业务应用

时间:2023-10-28 09:22:05浏览次数:26  
标签:java 步骤 redis redisKey 发送 MQ 短信

java redis 短信业务应用

短信业务场景:根据实际业务来通知客户,在短信的MQ中新增字段:是否需要发送短信的标识,短信微服务可以接收到MQ后根据该字段来判断是否发送。

如果发送端MQ的事件的操作是分开的,比如步骤1:修改订单, 步骤2:产生修改后的费用去支付,在支付成功之后才发送该MQ消息。
如果在步骤2的发送MQ的字段中,需要步骤1的字段,
有两种方法:
1:查询步骤1 落库的数据,在步骤2的时候查询出来。
2:如果第一步查询并且仍然需要比较复杂的逻辑处理,可以将步骤1的 逻辑后的数据直接放到redis中,根据唯一标识来作为key,这样在步骤2直接从redis中获取。

//send
stringRedisTemplate.opsForValue().set(redisKey, "1",30, TimeUnit.MINUTES);

//receive
String strFlag = "0";
String redisKey = myRedisKeyTest + renterOrderNo;
if(stringRedisTemplate.hasKey(redisKey)) {
	strFlag = stringRedisTemplate.opsForValue().get(redisKey);
}


//other:
//注册用户的MQ >> 会员注册微服务
rabbitTemplate.convertAndSend(RabbitConstants.EXCHANGE_CREATE_MEMBER,RabbitConstants.ROUTING_KEY_CREATE_MEMBER,JsonUtil.toJson(createMemDto));
//从redis中获取注册后的结果
String regNo = redisTemplate.opsForList().leftPop("member:regNo:mobile:" + createMemDto.getMobile(), 5000, TimeUnit.MILLISECONDS);

  

标签:java,步骤,redis,redisKey,发送,MQ,短信
From: https://www.cnblogs.com/oktokeep/p/17793633.html

相关文章

  • Java提升技术,进阶为高级开发和架构师的路线
    简介Java怎样提升技术?怎样进阶为高级开发和架构师?本文介绍靠谱的成长路线。首先点明,只写业务代码是无法成长技术的。提升技术的两个方法是:有技术大佬带有技术大佬的资料本文介绍靠谱的技术进阶资料,让你比其他人更有竞争力!Java设计模式实战链接:这里用生活例子帮助理解模式的思维,用实......
  • Java提升技术,进阶为高级开发和架构师的路线
    ​ 原文网址:Java提升技术,进阶为高级开发和架构师的路线-CSDN博客简介Java怎样提升技术?怎样进阶为高级开发和架构师?本文介绍靠谱的成长路线。首先点明,只写业务代码是无法成长技术的。提升技术的两个方法是:有技术大佬带有技术大佬的资料本文介绍靠谱的技术进阶资料,让你比......
  • JAVA - Obejects api
    packagecom.demo2;importcom.demo.Demo1;importjava.util.Objects;publicclassTest{publicstaticvoidmain(String[]args){Stringname=null;StringreturnName=Objects.requireNonNullElse(name,"张三");//第一个参数不为空......
  • Java学习总结
    一、Java开发入门1.1、Java概述1.1.1、什么是Java1.1.2、Java语言的特点1)简单易用2)安全可靠3)跨平台 通过Java虚拟机(JVM)可以在不同的操作系统(如Windows、Linux)上运行Java,从而实现跨平台的特性4)面向对象5)支持多线程1.2、JDK的使用1.2.1、什么是JDK JDK、JRE和JVM三者之间的关系 1)JD......
  • Java基础 Lock 锁
     代码示例:packagepojo;importjava.util.concurrent.locks.Lock;importjava.util.concurrent.locks.ReentrantLock;publicclassTicketextendsThread{publicstaticIntegerticket=1;//创建锁的对象staticLocklock=newReentrantLock();@Override......
  • Java基础 同步方法
    同步代码块就是把一段代码给锁起来,这样就可以解决多线程操作共享数据时带来的数据安全问题但是如果我们想要把一个方法里面所有的代码全都锁起来,就没有必要用同步代码块了,我们可以直接把synchronized加在方法上,这个方法就叫做同步方法 同步方法的格式:修饰符 synchroniz......
  • 学习如何新建java项目
    java的程序的运行机制编译型:全局翻译解释型:实时更新 在idea写下hello,world[破解激活码] IDEA2023.2.3最新激活码,注册码(亲测好用)-异常教程(exception.site) 新建一个文件夹 在文件夹新建一个class  Java语法创建一个新项目(重要)project->Empty......
  • Java基础 同步代码块
    同步代码块:利用同步代码块把操作共享数据的代码给锁起来,让同步代码块里面的代码是轮流去执行的 格式:synchronized(锁对象){   操作共享数据的代码} 细节:1.在最初,锁的状态是默认打开的,如果有一个线程进去了,锁就会自动关闭2.当锁里面全部代码都执行完毕了,线程......
  • [ApacheCommon组件使用-IO]关于JavaIO,相当输入的一个工具就是ApacheCommon-IO
    1.首先,如果你使用的是maven或者gradle建立的项目,maven只需要<!--https://mvnrepository.com/artifact/commons-io/commons-io--><dependency><groupId>commons-io</groupId><artifactId>commons-io</artifactId>......
  • Python实现短信循环压力测试教程
    一、安装依赖库在使用短信循环压力测试之前,需要先安装需要的依赖库——selenium和webdriver。其中,selenium是Python的一个第三方库,能够模拟浏览器的行为,进行自动化测试等操作。webdriver是浏览器的驱动程序,可以实现Python与浏览器之间的交互。pipinstallselenium安装完成后还需要......