Redis发布订阅模式

1、创建发送者

TEST_CHANNEL 为自定义通道,发送者将消息发送到通道中,接受者订阅了这个通道就可以获取到信息

typescript 复制代码
@Component
public class RedisSender {
	public static final String TEST_CHANNEL = "test_channel";

	@Autowired
	private RedisTemplate redisTemplate;

	public void send(String channel, String message) {
		redisTemplate.convertAndSend(channel, message);
	}
}

2、创建订阅者

现在接受到了消息只是简单的打印了出来

java 复制代码
@Component
public class RedisRecipient implements MessageListener {
	public static final String TEST_CHANNEL = "test_channel";

	@Override
	public void onMessage(Message message, byte[] pattern) {
		System.out.println("接受到的信息为:" + message.toString());
	}
}

3、配置消息监听

java 复制代码
@Configuration
public class RedisConfig {

	/**
	 * 配置消息监听
	 */
	@Bean
	public RedisMessageListenerContainer container(RedisConnectionFactory connectionFactory, RedisRecipient redisRecipient) {
		RedisMessageListenerContainer container = new RedisMessageListenerContainer();
		container.setConnectionFactory(connectionFactory);

		// 订阅频道
		Topic topic = new PatternTopic(RedisRecipient.TEST_CHANNEL);

		// 使用监听器监听Redis的消息
		container.addMessageListener(redisRecipient, topic);
		return container;
	}
}

4、测试

kotlin 复制代码
@SpringBootTest
public class RedisTest {
	@Resource
	private RedisSender redisSender;

	@Test
	public void test02() {
		redisTemplate.opsForValue().set("cKey", "11");
		Object cKey = redisTemplate.opsForValue().get("cKey");
		System.out.println(cKey);

		redisSender.send(RedisSender.TEST_CHANNEL, "你好");
	}

}
相关推荐
明月_清风13 小时前
实战选型决策树——一张图搞定"我这个场景该用什么序列化方案"
后端
武子康13 小时前
Java-09 深入浅出 MyBatis 注解开发详解:从 CRUD 到复杂关系映射
java·后端·spring
神奇小汤圆13 小时前
Java 泛型解析太痛苦?你可能需要一枚「蛋」
后端
用户2986985301413 小时前
Java 进阶:在 Word 文档中动态增删页面
java·后端
洛阳泰山13 小时前
MaxKB4j 近三月开发进展速览:从 RAG 引擎到全能 AI 工作流平台
人工智能·后端
我是一只码蚁13 小时前
记一次苍穹外卖项目 Maven 编译报错的排查与解决全过程
java·经验分享·笔记·后端·架构·maven
Mahir0814 小时前
MyBatis 分页与插件深度解密:从插件机制到三大分页方案原理全解
java·后端·mybatis·mybatis-plus·大厂面试题
折哥的程序人生 · 物流技术专研14 小时前
《Java 100 天进阶之路》第40篇:浮点数转成十进制问题
java·开发语言·后端·面试·求职招聘
ZengLiangYi14 小时前
任务队列设计:p-queue 限速 + 重试策略
前端·javascript·后端
XovH15 小时前
Docker Compose 文件详解:服务、网络与卷
后端