redis队列问题,如何自动监听?
请教使用redis队列的问题,客户端我使用的是jedis。
场景:A系统向队列中存数据,B系统在队列中取数据。
我试验发现:
1、redis队列模式,可以实现B系统不在线状态下,A系统向队列中存数据,当B系统上线后,可以手动去取队列中的数据。
2、redis订阅模式:可以实现A系统向队列中存数据,当B系统订阅了此队列并且在线时,可以自动监听此队列去取数据,但之间不在线时的数据无法取到。
B系统希望能实现redis队列模式,并且能自动监听此队列去取数据。我现在不知道这个自动监听的程序要怎么写,请问有没有朋友处理过这样的问题。定时器去轮询就不要提了,我觉得不是最好的解决方案。谢谢各位先!!!!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(9)
brpop
为什么要用定时器等轮询呢?redis提供了一个方法,如果没有数据就阻塞,有数据自动唤醒
楼主,如何自动监听?能给个解决方案吗
有什么好的方案?
一开始我们就想用定时器去轮询的,但感觉不是太好,所以我采用了char1st的方案,感觉不错
B系统写个功能,轮询的从redis队列中取数据,即可。
试了一下,这个方案不错,按上面写的集成到自己的项目里了,文章里有个地方感觉有小bug,改了,呵呵。谢谢啦
那篇文章我没细看,其实以前我想用redis的pub/sub做个通知服务的broker,所以就收藏了那篇文章。
这个地址打不开了