使用redis实现系统消息推送

允我心安 提交于 2020-01-14 06:30:37

使用redis实现系统消息推送

大致的思路:
1.Redis信息发布:redisTemplate.convertAndSend(channel,message)
2.Redis信息监听:实现MessageListener接口,重写OnMessage(Massage message,byte[] pattern)方法。请参考代码,本例中的key,value的序列化方式均为string,其中key必须为stringSerializer,和redisTemplate.convertAndSend对应。使用线程池ThreadPoolTaskExecutor(sipring-context包)通过入表达式实现,具体看代码。逻辑大概如下:
触发客户端(个人和群发的区别)-先更新用户缓存-删除已经关闭的信息-执行消息推送。
3.消息推送:使用SseEmitter实现,长时间监听,sseEmitter.send(value) ,其中value是json格式化得来的字符串,包含用户id,用户类型,未读信息数目等。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!