我正在学习如何使用。
我是专门的功能。
我将与和结合使用。
我遇到过
var Redis = require("ioredis");
var redis = new Redis();
var pub = new Redis();
redis.subscribe("news", "music", function(err, count) {
// Now we are subscribed to both the 'news' and 'music' channels.
// `count` represen
以此示例代码为例:
//Redis Variables
var redis = require('socket.io/node_modules/redis');
var RedisStore = require('socket.io/lib/stores/redis');
var pub = redis.createClient();
var sub = redis.createClient();
var client = redis.createClient();
var redis_store = new RedisStore({
尝试创建两个客户端;一个是发布/订阅,另一个是标准连接。这是不可能的吗?必须有一种方法来抽象它才能工作:)基本上,如果我在运行test.js之后执行get key,我看到的只是“valueBefore”。输出:
node test.js
Reply: OK
/Users/franklovecchio/Desktop/development/node/node_modules/redis/index.js:487
throw new Error("Connection in pub/sub mode, only pub/sub commands may
我现在通过TCP对另一个微服务使用RPC调用并获得响应,但我认为我可以这样做:
在没有进行RPC调用的情况下,我可以使用pub/sub发送到一个服务,发布一些像request_user这样的通道,并订阅一个像object_user_response这样的通道,然后再使用订阅这个request_user的另一个服务发布object_user_response。
就像这样:
Service A <-- (sub)object_user_response <------ Redis
Service A --> (pub)request_user ------------->
我发现了用Google实现消息传递的三种方法:
使用客户端库
使用spring集成消息通道和PubSubTemplate API
没有消息通道,但使用PubSubTemplate API
我想了解它们之间的差异/什么时候最适合使用,哪些对我的情况是有用的。
为了获得队列功能,我必须实现一个主题和一个订阅。我想如果不需要的话,我宁愿不使用Spring消息通道,因为它们似乎是Pub主题和订阅之间的中间部分,我不想这样做。我希望事情简单,所以我认为选项3是最好的,但我也想知道选项1。
全
我已经安装了最新的Redis 2.4.16,并试图在java中使用它的Pub/Sub系统。我每秒钟都要给一个频道留言。发布服务器没有问题,但订阅服务器与消息崩溃。
异常:
redis.clients.jedis.exceptions.JedisDataException: ERR only (P)SUBSCRIBE / (P)UNSUBSCRIBE / QUIT allowed in this context
at redis.clients.jedis.Protocol.processError(Protocol.java:59)
at redis.clients.jedis.Proto