使用java springboot 使用 Redis 作为消息队列

使用 Redis 作为消息队列

Redis 还可以用作消息队列,特别是通过其发布/订阅(Pub/Sub)机制。你可以使用 RedisTemplateconvertAndSend 方法发送消息,并使用 @RedisListener 注解监听消息。

发送消息
复制代码
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Service;

@Service
public class MessagePublisher {

    @Autowired
    private RedisTemplate<String, Object> redisTemplate;

    public void publishMessage(String channel, String message) {
        redisTemplate.convertAndSend(channel, message);
    }
}
监听消息
复制代码
import org.springframework.data.redis.listener.ChannelTopic;
import org.springframework.data.redis.listener.RedisMessageListenerContainer;
import org.springframework.data.redis.listener.adapter.MessageListenerAdapter;
import org.springframework.stereotype.Service;

@Service
public class MessageSubscriber {

    @Autowired
    private RedisMessageListenerContainer redisContainer;

    public void subscribeToChannel(String channel) {
        ChannelTopic topic = new ChannelTopic(channel);
        redisContainer.addMessageListener((message, pattern) -> {
            System.out.println("Received message: " + message.toString());
        }, topic);
    }
}
相关推荐
汉堡go3 分钟前
python_chapter6
前端·数据库·python
wusp19949 分钟前
v-model 和 :value 的深度解析
前端·javascript·vue.js
Code知行合壹15 分钟前
Vue项目中SVG图标
前端·vue.js
SJLoveIT18 分钟前
【安全研发】CSRF (跨站请求伪造) 深度复盘与防御体系
前端·安全·csrf
小二·27 分钟前
Python Web 开发进阶实战:数字孪生平台 —— 在 Flask + Vue 中构建实时物理世界镜像
前端·vue.js·python
CHU72903529 分钟前
安心陪伴,便捷就医:陪诊代办小程序的温暖设计
前端·小程序·php
ashcn200136 分钟前
websocket测试通信
前端·javascript·websocket
weixin_4046793139 分钟前
edge alt tab怎么关
前端·edge
CHU7290351 小时前
线上扭蛋机拆盒小程序前端功能版块解析
前端·小程序·php
卿着飞翔1 小时前
Vue使用yarn进行管理
前端·javascript·vue.js