使用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,用户类型,未读信息数目等。
来源:CSDN
作者:林小二
链接:https://blog.csdn.net/qq_42947952/article/details/103792953