文章目录

  • 前言
  • 代码
  • 自定义业务

前言

目前项目中,有使用到 Redis 的需求。场景如下:
在使用消息队列时,难免会遇到重复消费的事情,因为队列本身不处理这个。
那么就可以使用 Redis 来做一个避免重复消费的操作。

假如你的消息队列是 rocket mq,在消息消费端,获取到的 MessageExt对象,可以拿到消息的 ID。
我们在刚拿到这个ID时,就立刻对其进行存储(可以拼接你自己的业务前缀)。
可以使用 redis 的 setIfAbsent ,也就是 setNx 命令。


每次能够用存储成功 MessageID时,再去执行消费。如果Redis中有了当前的 MessageId,就证明它是之前消费过的,就直接舍弃。从而达到了避免重复消费的效果。

代码

核心代码其实并不多,这里只提供一下公共的配置,以及方法。
代码仓库如下:
https://gitee.com/fengsoshuai/mine-reactive-redis

自定义业务

https://gitee.com/fengsoshuai/customer-redis-feng

对以上代码做了调整,主要是自定义了业务前缀,可以定制化自己的业务需求。
对应在Nacos中的配置如下:

Java 使用Reactive Redis相关推荐

  1. c#获取对象的唯一标识_在 Java 中利用 redis 实现分布式全局唯一标识服务

    作者: 杨高超 juejin.im/post/5a4984265188252b145b643e 获取全局唯一标识的方法介绍 在一个IT系统中,获取一个对象的唯一标识符是一个普遍的需求.在以前的单体应用 ...

  2. Caused by: java.lang.NoClassDefFoundError: redis/clients/util/Pool

    严重: Exception sending context initialized event to listener instance of class org.springframework.we ...

  3. 在java中使用redis

    在java中使用redis很简单,只需要添加jedist.jar,通过它的api就可以了.而且,api和redis的语法几乎完全相同.以下简单的测试: 参考:http://www.runoob.com ...

  4. 在 Java 中利用 redis 实现 LBS 服务

    前言 LBS(基于位置的服务) 服务是现在移动互联网中比较常用的功能.例如外卖服务中常用的我附近的店铺的功能,通常是以用户当前的位置坐标为基础,查询一定距离范围类的店铺,按照距离远近进行倒序排序. 自 ...

  5. Redis介绍 Java客户端操作Redis

    Redis介绍 && Java客户端操作Redis 本文内容 redis介绍 redis的 shell 客户端简介 redis的 java 客户端简介 环境配置 redis 2.8.1 ...

  6. Redis介绍 Java客户端操作Redis

    分享一下我老师大神的人工智能教程.零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.csdn.net/jiangjunshow Redis介绍 & ...

  7. Redis笔记(六):Java中使用Redis

    Java程序使用Redis 添加依赖包 Maven依赖方式 <dependency><groupId>redis.clients</groupId><arti ...

  8. (2) java项目中用redis

    Java 使用 Redis 安装 开始在 Java 中使用 Redis 前, 我们需要确保已经安装了 redis 服务及 Java redis 驱动,且你的机器上能正常使用 Java. Java的安装 ...

  9. java怎么弄redis,java怎么使用redis

    开始在 Java 中使用 Redis 前, 我们需要确保已经安装了 redis 服务及 Java redis 驱动,且你的机器上能正常使用 Java. Java的安装配置可以参考我们的 Java开发环 ...

最新文章

  1. Yii2.0 模态弹出框+ajax提交表单
  2. 比特币现金支付接入日本便利店
  3. 【leetcode】Intersection of Two Linked Lists
  4. ESP8266 WiFi探针 MAC
  5. 第三篇——第二部分——第六文 监控SQL Server镜像
  6. Win10下VB6.0开发之错误--无法打开对象窗口和代码窗口
  7. HTML中的select只读
  8. MaxCompute SQL中的更新和删除如何实现
  9. GC root 解决了循环引用的垃圾回收问题
  10. dump文件 linux,Linux下快速分析DUMP文件
  11. 这 26个中国式创新,征服了全世界
  12. Idea 2020 找不到或无法安装官方汉化包解决方案
  13. 二进制加法器原理c语言,加法器电路原理图解_二进制加法器理解
  14. [案例分享]金融大数据:三大应用场景提升营销收益 (二)
  15. 低通滤波器的一阶RC电路模型
  16. 计算机网络(三)—— 数据链路层(8、9):集线器与交换机的区别、以太网交换机自学习和转发帧的流程
  17. 数据基础设施,证券行业跑赢时代的新引擎
  18. 华为CE系列和S系列交换机堆叠配置及mad检测
  19. 【属性基加密】Ubuntu下CP-ABE库安装及调用教程详解
  20. ISO三标体系认证是什么?企业应该如何来通过三体系认证

热门文章

  1. Ucenter的用户注册和登录分析
  2. nth-child 与 nth-of-type
  3. xfce上安装mysql_第一次把mysql装进docker里碰到的各种问题-Go语言中文社区
  4. Mac 使用 80 端口
  5. Windows10官网下载与安装U盘的制作
  6. 2020-12-19
  7. 关于集合除法的理解(MySQL实现)
  8. 极限学习机(Extreme Learning Machine, ELM)的训练与预测matlab仿真
  9. 计算机网络基础试卷分析,《计算机应用基础》期末试卷分析.doc
  10. 中职计算机应用专业(云计算方向)建设实践