redis的发布订阅功能是什么
发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,redis的发布订阅功能是什么?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。序redis提供了简单的发布订阅功能,对于一些合适的场景
千家信息网最后更新 2026年11月03日redis的发布订阅功能是什么
redis的发布订阅功能是什么?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
序
redis提供了简单的发布订阅功能,对于一些合适的场景(比如不要求消费者不在线时也能收到离线消息),比起专业的MQ来说,用起来更简单些。本文主要是记录下怎么在SpringBoot里头使用redis的发布订阅功能。
定义生产者
配置
@Bean MyPublisher redisPublisher(RedisConnectionFactory factory) { return new MyPublisher( redisTemplate(factory), topic() ); } @Bean ChannelTopic topic() { return new ChannelTopic( "pubsub:queue" ); }生产者实例
public class MyPublisher { private final RedisTemplate< String, Object > template; private final ChannelTopic topic; private final AtomicLong counter = new AtomicLong( 0 ); public MyPublisher( final RedisTemplate< String, Object > template, final ChannelTopic topic ) { this.template = template; this.topic = topic; } @Scheduled( fixedDelay = 100 ) public void publish() { template.convertAndSend( topic.getTopic(), "Message " + counter.incrementAndGet() + ", " + Thread.currentThread().getName() ); }}定义消费者
配置
//subscribe @Bean MessageListenerAdapter messageListener() { return new MessageListenerAdapter( new MyMessageListener() ); } @Bean RedisMessageListenerContainer redisContainer(RedisConnectionFactory factory) { final RedisMessageListenerContainer container = new RedisMessageListenerContainer(); container.setConnectionFactory(factory); container.addMessageListener(messageListener(), topic()); return container; }消费者实例
public class MyMessageListener implements MessageListener { @Override public void onMessage( final Message message, final byte[] pattern ) { System.out.println( "Message received: " + message.toString() ); }}运行
. ____ _ __ _ _ /\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \ \\/ ___)| |_)| | | | | || (_| | ) ) ) ) ' |____| .__|_| |_|_| |_\__, | / / / / =========|_|==============|___/=/_/_/_/ :: Spring Boot :: (v1.3.2.RELEASE)2016-02-16 00:14:08.190 INFO 1481 --- [ main] com.codecraft.RedisdemoApplication : Starting RedisdemoApplication on Jupiter.local with PID 1481 (/Users/codecraft/workspace/redisdemo/target/classes started by codecraft in /Users/codecraft/workspace/redisdemo)2016-02-16 00:14:08.193 INFO 1481 --- [ main] com.codecraft.RedisdemoApplication : No active profile set, falling back to default profiles: default2016-02-16 00:14:08.242 INFO 1481 --- [ main] s.c.a.AnnotationConfigApplicationContext : Refreshing org.springframework.context.annotation.AnnotationConfigApplicationContext@140e5a13: startup date [Tue Feb 16 00:14:08 CST 2016]; root of context hierarchy2016-02-16 00:14:09.756 INFO 1481 --- [ main] o.s.j.e.a.AnnotationMBeanExporter : Registering beans for JMX exposure on startup2016-02-16 00:14:09.763 INFO 1481 --- [ main] o.s.c.support.DefaultLifecycleProcessor : Starting beans in phase 02016-02-16 00:14:09.807 INFO 1481 --- [ main] o.s.c.support.DefaultLifecycleProcessor : Starting beans in phase 21474836472016-02-16 00:14:09.897 INFO 1481 --- [ main] com.codecraft.RedisdemoApplication : Started RedisdemoApplication in 2.215 seconds (JVM running for 2.589)Message received: "Message 1, pool-1-thread-1"Message received: "Message 2, pool-1-thread-1"Message received: "Message 3, pool-1-thread-1"Message received: "Message 4, pool-1-thread-1"Message received: "Message 5, pool-1-thread-1"Message received: "Message 6, pool-1-thread-1"Message received: "Message 7, pool-1-thread-1"Message received: "Message 8, pool-1-thread-1"Message received: "Message 9, pool-1-thread-1"Message received: "Message 10, pool-1-thread-1"
关于redis的发布订阅功能是什么问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注行业资讯频道了解更多相关知识。
功能
订阅
消费者
问题
消费
实例
更多
生产者
帮助
生产
解答
配置
合适
易行
简单易行
专业
内容
场景
小伙
小伙伴
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
深圳恒合互联网络科技有限公司
互联网金融与金融科技
互联网金融公司科技
智网互联网科技
广州宏创互联网科技
九亚互联网科技
科技互联网公司logo
米客互联网科技
天下捷融互联网科技
上海卓越科技 互联网
安控科技rtu产品工业互联网
知域互联网科技有限公司大骗子
呼和浩特新华互联网科技学院
米聚互联网科技南京有限公司排面
互联网金融科技名词解释
众联互联网络科技
互联网科技大佬云集
互联网科技创业计划的风险分析
伍佰万互联网科技是干嘛的
小牛互联网科技有限公司地址
互联网科技企业
喔噻互联网科技有限公司
工业互联网科技新基建
掌上梦互联网科技
小米互联网科技园设置
互联网系的金融科技公司
科技互联网大厂
卡尔迅互联网科技有限公司
互联网科技的前景
盐城市攀科互联网科技有限公司