zoukankan      html  css  js  c++  java
  • Spring Boot中使用redis的发布/订阅模式

    原文:https://www.cnblogs.com/meetzy/p/7986956.html

    redis不仅是一个非常强大的非关系型数据库,它同时还拥有消息中间件的pub/sub功能,在spring boot中进行如下设置就可以使用redis的pub/sub功能:

    1.创建redis监听的设置类

    复制代码
    @Configuration
    public class RedisSubListenerConfig {
       //初始化监听器
        @Bean
        RedisMessageListenerContainer container(RedisConnectionFactory connectionFactory,
                MessageListenerAdapter listenerAdapter) {
            RedisMessageListenerContainer container = new RedisMessageListenerContainer();
            container.setConnectionFactory(connectionFactory);
            container.addMessageListener(listenerAdapter, new PatternTopic("这里是监听的通道的名字"));
            return container;
        }
       //利用反射来创建监听到消息之后的执行方法
        @Bean
        MessageListenerAdapter listenerAdapter(RedisReceiver redisReceiver) {
            return new MessageListenerAdapter(redisReceiver, "receiveMessage");
        }
      
      //使用默认的工厂初始化redis操作模板 @Bean StringRedisTemplate template(RedisConnectionFactory connectionFactory) { return new StringRedisTemplate(connectionFactory); } }
    复制代码

    2.创建监听之后的receiver方法类

    复制代码
    @Service
    public class RedisReceiver {
        @Autowired
        RedisService redisService;
    
        public void receiveMessage(String message) {
            //这里是收到通道的消息之后执行的方法
        }
    }
    复制代码

    3.使用reidsTemplate向通道发送消息

    复制代码
    @Service
    public class RedisService {
        @Autowired
        private StringRedisTemplate stringRedisTemplate;
      //向通道发送消息的方法
        public void sendChannelMess(String channel, String message) {
            stringRedisTemplate.convertAndSend(channel, message);
        }
    }
    复制代码
  • 相关阅读:
    Yii 1 转载 数据库操作
    php的redis的pconnect
    微信第三方平台设置平台信息
    坑爹的python thread模块
    js爆布特效 jQuery Wookmark
    w3a Scan 插件结构的构想问题
    mac 下快捷键
    MUI学习03-滚动图(幻灯片)及菜单项(九宫格)
    MUI学习04-开关按钮
    MUI学习03-弹出菜单(弹出列表)
  • 原文地址:https://www.cnblogs.com/shihaiming/p/9470561.html
Copyright © 2011-2022 走看看