java redis 短信业务应用
java redis 短信业务应用
短信业务场景:根据实际业务来通知客户,在短信的MQ中新增字段:是否需要发送短信的标识,短信微服务可以接收到MQ后根据该字段来判断是否发送。
如果发送端MQ的事件的操作是分开的,比如步骤1:修改订单, 步骤2:产生修改后的费用去支付,在支付成功之后才发送该MQ消息。 如果在步骤2的发送MQ的字段中,需要步骤1的字段, 有两种方法: 1:查询步骤1 落库的数据,在步骤2的时候查询出来。 2:如果第一步查询并且仍然需要比较复杂的逻辑处理,可以将步骤1的 逻辑后的数据直接放到redis中,根据唯一标识来作为key,这样在步骤2直接从redis中获取。
代码语言:javascript代码运行次数:0运行复制//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);
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。 原始发表:2023-10-28,如有侵权请联系 cloudcommunity@tencent 删除redis数据java短信微服务发布者:admin,转转请注明出处:http://www.yc00.com/web/1754975655a5223534.html
评论列表(0条)