当前位置: 首页 > news >正文

移动app设计网站建设网站建设从初级到精通

移动app设计网站建设,网站建设从初级到精通,前端网页制作,wordpress 动画插件Redis 发布订阅机制 简介#xff1a; Redis 发布订阅#xff08;Pus/Sub#xff09;是一种消息通信模式#xff1a;发送者通过 PUBLISH发布消息#xff0c;订阅者通过 SUBSCRIBE 订阅接收消息或通过UNSUBSCRIBE 取消订阅。主要由「发布者」、「订阅者」、「Channel」三个部…Redis 发布订阅机制 简介 Redis 发布订阅Pus/Sub是一种消息通信模式发送者通过 PUBLISH发布消息订阅者通过 SUBSCRIBE 订阅接收消息或通过UNSUBSCRIBE 取消订阅。主要由「发布者」、「订阅者」、「Channel」三个部分组成。 发布者和订阅者属于客户端Channel 是 Redis 服务端发布者将消息发布到频道订阅这个频道的订阅者则收到消息。 1 基于频道的发布订阅 //在redisServer中有一个字典类型字段pubsub_channels 用来保存订阅信息其中key为频道value为订阅该频道的客户端 struct redisServer{ pid_t pid; //将频道映射到已订阅客户端的列表 dict *pubsub_channels } 2 基于模式的发布订阅 //在redisServer中有一个pubsub_patterns属性该属性表示一个链表链表中保存着所有和模式相关的信息 struct redisServer{ list *pubsub_patterns } typedef struct pubsubPattern{ client *client; – 订阅模式客户端 robj *pattern; --被订阅的模式 } pubsubPattern; 需要注意的是发布消息与监听消息要运行在不同的 JVM如果使用同一个 redissonClient 发布的话不会监听到自己的消息。 缺陷 发布者不知道订阅者是否收到发布的消息 订阅者不知道自己是否收到了发布者发出的所有消息 发送者不能获知订阅者的执行情况 没人知道订阅者何时开始收到消息 实现 生产者代码 * 发布消息到 Topic* param message 消息* return 接收消息的客户端数量 public long sendMessage(String message) {RTopic topic redissonClient.getTopic(CHANNEL);long publish topic.publish(message);log.info(生产者发送消息成功msg {}, message);return publish; }消费者代码 public void onMessage() {// in other thread or JVMRTopic topic redissonClient.getTopic(CHANNEL);topic.addListener(String.class, (channel, msg) - {log.info(channel: {} 收到消息 {}., channel, msg);}); }Spring boot整合redis 消息监听配置 Configuration public class RedisSubConfig {public static final String SUB_KEY chat;//频道channel* redis消息监听器容器* 可以添加多个监听不同话题的redis监听器只需要把消息监听器和相应的消息订阅处理器绑定该消息监听器* 通过反射技术调用消息订阅处理器的相关方法进行一些业务处理* param connectionFactory* param listenerAdapter* returnBeanRedisMessageListenerContainer container(RedisConnectionFactory connectionFactory, MessageListenerAdapter listenerAdapter) {RedisMessageListenerContainer container new RedisMessageListenerContainer();container.setConnectionFactory(connectionFactory);//订阅了一个频道container.addMessageListener(listenerAdapter, new PatternTopic(RedisSubConfig.SUB_KEY));return container;}* 消息监听器适配器绑定消息处理器利用反射技术调用消息处理器的业务方法BeanMessageListenerAdapter listenerAdapter(RedisReceiver receiver) {return new MessageListenerAdapter(receiver, receiveMessage);}/*** redis 读取内容的template* param connectionFactory* return*/BeanStringRedisTemplate template(RedisConnectionFactory connectionFactory) {return new StringRedisTemplate(connectionFactory);} }接收消息 Service public class RedisReceiver {public void receiveMessage(String message) {System.out.println(接收消息 message);} }采用定时器发布消息 EnableScheduling //开启定时器功能 Component public class MessageSender {Autowiredprivate StringRedisTemplate stringRedisTemplate;Scheduled(fixedRate 5000) //间隔5s 通过StringRedisTemplate对象向redis消息队列chat频道发布消息public void sendMessage(){stringRedisTemplate.convertAndSend(chat, hello new Date());} }kafka相关 消息头格式 RecordHeaders(headers [RecordHeader(key messageType, value [0, 0, 0, 1]), RecordHeader(key operationCode, value [0, 0, 0, 1]), RecordHeader(key messageId, value [52, 52, 52, 53, 53, 53])], isReadOnly false) 使用java读取消息头 private MsgHeader parseMsgHeaders(Headers headers) {MsgHeader msgHeader new MsgHeader();Header xxxHeader headers.lastHeader(xxx);if (xxxHeader ! null) {msgHeader.setXXX(new String(xxxHeader.value()));}return msgHeader;}使用go发送消息头 headers : []sarma.RecordHeader{sarama.RecordHeader{Key: []byte(kkk),Value: []byte(vvv), }} msg : sarama.ProducerMessage{Topic: topic,Key: sarama.StringEncoder( ),Value: sarama.StringEncode( ),Headers: headers, }
http://www.yutouwan.com/news/310384/

相关文章:

  • php网站模板开源今天的新闻内容
  • 重庆的网站设计公司价格知乎 做网站的公司 中企动力
  • 除了Joomla用什么做网站好网站pv uv有什么作用
  • 怎么做网站发货福州关键词搜索排名
  • 六安网站建设中铁建设集团门户网站登录
  • 做影视网站犯法吗怎么网上接网站开发单自己做
  • 重庆网站推广营销代理农业推广硕士
  • 行业网站 源码晨星wordpress 主题
  • 创建网站花钱吗洛阳市住房与城乡建设部网站
  • 东莞大朗网站建设公司网站测速
  • 建筑教育朝阳seo推广
  • 网站设计计划书的要求郑州网站建设模板制作
  • 建设外贸网站网站建设语音
  • 建设银行网站怎么登陆不百度查重软件
  • php做网站示例招聘网站排行榜2021
  • 淮阳住房和城乡建设局网站万网网站购买
  • 用dw制作做网站需要钱吗wordpress 分类seo
  • 做第三方seo优化网站网站建设及推广费记什么科目
  • 注册网站可以注销嘛网站提现功能开发
  • 租网站服务器网页设计师培训大全
  • 网站的页面布局房屋设计网站推荐
  • 做自己的游戏网站濮阳网站推广
  • 国家住房和城乡建设局网站首页第一家中文商务网站
  • 积玉桥网站建设站长工具海角
  • 海口网站建设高端想做游戏推广怎么找游戏公司
  • 做ppt找图片的网站网络营销考试题及答案
  • 专业网站制作企业建设网站硬件需要
  • 牡丹江在哪个城市百度快速seo优化
  • python3 网站建设湘潭网站建设问下磐石网络
  • 做外贸重新设计网站景区网站建设的好处