草庐IT

redis - Redis订阅 channel 到底是什么?

因此,当我创建一个新的Jedis订阅实例并让我的Jedis实例订阅它时,我必须指定channel。它到底是什么?我假设它是一个字符串,它将成为其他一些系统的url[我有一个API平台,它应该收到重做状态更改的通知]。Jedis和Redis订阅页面都没有具体说明我对channel感到好奇的字符串类型。谢谢! 最佳答案 字符串可以是任何字符串,不一定只是URL。它用作Redischannel的名称-发布者和订阅者都用来“连接”到正确channel的唯一标识符-因此只要每个人都知道该名称,他们就可以使用该channel。

ruby-on-rails - 用于发布和订阅事件的 Ruby 中 Redis SUB/PUB 的替代方案

我遇到的问题是,在使用heroku的免费附加组件时,我被限制为20个Redis连接。每个订阅事件都在使用一个连接,导致我的应用程序在使用有限的情况下达到最大。该应用程序是使用网络套接字的消息服务。我知道因为使用免费托管服务而进行重构似乎是一个糟糕的决定,但是,这是Redis唯一的用途。 最佳答案 尝试使用faye或em-websocket进行发布/订阅,然后如果需要,您可以使用redis或postgres进行持久化。http://faye.jcoglan.com/https://github.com/igrigorik/em-web

c# - 如何在 Servicestack.Redis 中使用 "New Managed Pub/Sub Server"取消订阅 channel

在NewManagedPub/SubServer他们的文档展示了如何在pubsubserver的初始化中订阅channel。但是,您如何在程序稍后需要时取消订阅特定channel?我的代码:usingServiceStack.Redis;usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Threading;namespaceva.communication{classProgram{staticvoidMain(string[]args){varclientsManager=newPoole

Python redis 订阅无法获取所有数据?

我正在使用python从redis获取数据,然后将其解析到kafka。它适用于大多数情况。但是当我用python模拟建数据到redis,或者queuen中有快速放入datas时,我无法获取到所有的数据。这是我关于redisproducer的代码,用于模拟构建20000个数据到redis:rc=redis.Redis(host='127.0.0.1',port=6379)rc.ping()ps=rc.pubsub()ps.subscribe('bdwaf')r_str="--8198b507-A--\n[22/Jun/2017:14:13:19+0800]ucTcxcMcicAcAcAc

python - 如何用一个线程监听redis的所有订阅 channel ?

我使用python3.6.3,动态构建channel。当客户端连接到webwsocket服务器时,redis_client构建。我有大约1000到100,0000个redis_clients,每个redis_client订阅一些channel。如何使用一个线程或IOLoop监听所有客户端消息?你能给我一个线程可以添加新的pubsub对象来收听更多channel的例子吗?是否有任何解决方案使用协程替换线程在这里等待并且可以将所有协程连接在一起(不能使用joinall因为一些监听器稍后会接近。)我使用的是redis-py库。 最佳答案

redis - Redis重启后如何重启Redis所做的所有订阅?

Redis服务器重启后,如何启动Redis实例运行的所有进程?在我的应用程序中,我可以看到已创建Redis实例,但Redis实例正在执行的所有订阅都没有重新启动。因此,应用程序无法从事件总线/Redis总线接收新消息。 最佳答案 您的应用程序需要捕获断开连接事件,一旦数据库重新联机,重新连接到它并重新订阅相关channel。 关于redis-Redis重启后如何重启Redis所做的所有订阅?,我们在StackOverflow上找到一个类似的问题: https:

redis - 多个订阅一个主题

我一直在使用pubsub进行一些异步工作,并且想知道为什么有人可能会为单个主题创建多个订阅。我的默认值如下:project_id='project'topic_name='app'subscription_name='general'实际功能的路由——以及如何处理它——在subscriber接收器本身中进行。为什么会出现各种订阅名称?唯一能想到的就是把item分散到多个服务器上处理,比如:server1--`main-1`server2--`main-2`etc.是否还有任何其他原因导致订阅名称不能很好地与一个值一起使用? 最佳答案

springboot+rabbitmq搭建mqtt协议实现订阅发布(亲测9w消息并发)

一、mqtt协议简单介绍mqtt是一种基于发布/订阅(publish/subscribe)模式的轻量级通讯协议,通过订阅相应的主题来获取消息,是物联网(InternetofThing)中的一个标准传输协议。二、rabbitmq的安装部署1.安装Erlang环境yum-yinstallmakegccgcc-c++kernel-develm4ncurses-developenssl-develyum-yinstallncurses-devel2.下载Erlangrpm安装包和rabbitmqrpm安装包rpm包自取:https://pan.baidu.com/s/1UGuxeEIYMK9hBHKY

微信小程序清除订阅消息授权数据

问题描述在做小程序订阅消息开发的过程中发现,如果是长期订阅消息的类型,一旦用户授权后,后面就不会再弹出申请改订阅消息的授权弹窗,这对于开发过程中是很不方便的发现如果是在模拟器上调试,是可以通过清除模拟器缓存->清除授权数据来清除已授权的数据但是模拟器上调用wx.requestSubscribeMessage申请授权和在真机上差异很大,在模拟器上每次调用都会弹窗,不像在真机上授权后就不再弹窗,而且模拟器上一次只能显示一种消息的授权,即使代码中设置申请了多种订阅消息,为了测试用户真实的环境还是得用真机测试但是如果是真机上调试,依然找不到清除已授权数据的方式,试了把小程序删除再重新预览也不行,通过微

ruby - 在redis订阅中捕获客户端连接断开

我正在尝试使用Redis和Sinatra流构建一个通知系统。但是,当连接关闭时我似乎无法捕捉到,因此阻塞的Redis订阅block似乎永远不会关闭。实现这一目标的最佳方法是什么?get'/user/:id/next_notification'dostream:keep_opendo|out|$redis.subscribe("notifications:#{params[:id]}"){|on|on.message{|channel,msg|$redis.unsubscribeout 最佳答案 Redis订阅是一个阻塞调用。所以你需