草庐IT

channel1

全部标签

.net - 如何让 SignalR 订阅 Redis channel ?

我有一个Java服务器执行一些工作并将其结果发布到Redis上。我想将这个结果实时发送给一些用户;所以我实现了一个基于SignalR的解决方案。结果必须对很多客户端可用,而SignalR只是其中之一;因此无法修改服务器以完全符合我的要求。基本上,这就是我所拥有的:服务器->Redis->SignalR->浏览器我认为这是一个丑陋的解决方案,因为它使用Lazy类型来监听订阅的channel并调用委托(delegate)来告诉SignalR推送数据。最好的解决方案是将数据直接从服务器推送到信号器,但我无法更改服务器发布结果的方式。我想到了一个可执行文件充当Redis和Signalr之间的桥

redis - Redis(redis-py)可以处理多少个 channel ?

我的任务是为大量听众使用发布/订阅。这是来自docs的订阅的简化示例:r=redis.StrictRedis(...)p=r.pubsub()p.subscribe('my-first-channel','my-second-channel',...)formessageinp.listen():...#dosomethingwiththemessage假设我将为一个channelclient-#id订阅一个客户端。每个客户一个channel。问题是:如果我有成百上千的用户,可以使用这种方法吗?我是否应该为一个channel订阅所有这些并在消息中编码user-#id以在接收时进行过滤?

javascript - 如何动态发布和订阅 channel ?

//服务器设置....//StoreusingRedis..thisisthepartofthecode,nowihavetosendthestoreddatatootherclientsconnected,thecaseis'n'no.ofapplicationwith'n'no.ofclients,soihavetocreatechannelsheredynamically.amaskingutohelpmebygivingideasforcreatingdynamicchannelnameforpub/sub. 最佳答案 这不

java - 使用相同线程 Jedis 订阅多个 channel

我有一个应用程序使用Redis发布/订阅在使用Java中的Jedis客户端的客户端之间传输消息。我希望能够在用户键入命令时在运行时订阅channel,但由于订阅是一个阻塞操作,因为它会监听调用订阅的线程我不确定以后如何订阅其他channel在原始线程上。例子:privatePubSubListenerpsl=newPubSubListener();publicvoidonCommand(String[]args){subscribe(args[0]);}publicvoidsubscribe(Stringchannel){Jedisjedis=jedisPool.getResource

python - Redis pub/sub 在订阅中添加额外的 channel

是否可以向Redis连接添加额外的订阅?我有一个监听线程,但它似乎不受新SUBSCRIBE命令的影响。如果这是预期的行为,那么如果用户将股票代码提要添加到他们的兴趣或加入聊天室,应该使用什么模式?我想实现一个类似于以下的Python类:importthreadingimportredisclassRedisPubSub(object):def__init__(self):self._redis_pub=redis.Redis(host='localhost',port=6379,db=0)self._redis_sub=redis.Redis(host='localhost',port

django - 没有 channel 层或任何其他免费托管的 channel

我在django2.0naddjango-channlels2.0中有一个项目,我需要托管我按照文档进行操作,我能够在本地主机上运行channel和redis但是当我在pythonanywhere上托管时,它显示它不支持websocket,所以我在heroku上托管,但他们要求验证信用卡信息,我不必运行redis。是否有额外的托管网站我可以运行redis免费服务器或者是否可以在没有channel_layer和redis的情况下实现channel。我的代码在本地主机上运行良好,但不能免费在线托管。classPageConsumer(WebsocketConsumer):defconnec

design-patterns - 如何设计游戏服务器的通信 channel

我打算设计一个游戏服务器。我希望它可以承受非常重的负载、可重用、灵活,但易于编程,我想在这些方面取得平衡。我决定用nodejs和redis,protocal的数据格式是JSON,websocket我有web开发经验,但对游戏服务器开发一窍不通,我注意到游戏服务器是非常实时的,消息不是点对点的,而是pub-subchannel,nodejs、redis、json是设计通信channel的好选择,websocket是否被大多数浏览器支持?可能问题太多了,唯一的问题是如何设计游戏服务器的通信channel? 最佳答案 首先,下次使用真正的

javascript - 我可以将 Redis 设置为在更改键值时发布到发布/订阅 channel 吗?

我可以将Redis设置为在键值更改时发布到发布/订阅channel吗?有没有办法自动监控这些变化,还是我只需要在集合的一部分中构建它来广播新值?谢谢! 最佳答案 这类事情太复杂/不够通用,无法内置到Redis中,但无论如何作为客户端的一部分更容易做到-只需在SET之后发送一个PUBLISH命令。请注意,与SUBSCRIBE不同,PUBLISH不需要专用连接,因此很容易与其他命令集成。 关于javascript-我可以将Redis设置为在更改键值时发布到发布/订阅channel吗?,我们在

node.js - 发布/订阅 channel 的订阅者数量和超时

目前正在开发一个多进程/多主机nodeJS应用程序,我遇到了一个问题,我需要你的帮助。我的应用由进程组成,每个进程都可以承载多个独特的作业。我必须实时了解我的系统上当前是否正在运行作业。这是我目前的解决方案:每个工作订阅一个channel“job.JOB_UUID”如果进程想知道作业当前是否正在运行,我将推送到“job.JOB_UUID”并检查订阅者数量。如果为1=正常,则此作业正在运行,如果为0则没有。除非出现网络问题,否则此解决方案效果很好。这可能是因为Redis发布/订阅没有超时:Notethatthetimeoutonlyappliestonumberclientsandit*

Redis UNSUBSCRIBE 不删除 channel

sub.unsubscribe不删除channel,如何交替删除channel?我尝试了channel.close()或channel.quit()但没有用!代码:letroomChannelName=room_${roomId}_server;letsub=redis.createClient(redisConfig);constchannel=this.scServer.exchange.channel(roomChannelName);sub.unsubscribe(roomChannelName);this.scServer.exchange.destroyChannel(ro