Node.js redis 发布订阅

Node.js redis pubsub

我真的是nodejs的初学者。我想用 nodejs 做一个聊天服务。我使用 nodejs/jade/mysql 构建我系统的基本部分,现在我想为用户提供 pub/sub。

我们从文本字段或使用哈希标签接收用户的兴趣(无论如何我们接收用户的兴趣并存储在 MySQL -> 我们做到了)。然后,我们要根据用户的兴趣向他们显示聊天室列表。例如A的兴趣是'game'、'car'和'food',那么我们搜索'game'、'car'、'food'的聊天室并显示A这些首先是聊天室。

我想用redis来提供这个服务,但是我真的不知道!

1) 我安装了redis,可以运行 redis-server.
2)

//redis
var redis = require('redis');
var publisher = redis.createClient();
var subscriber = redis.createClient();

subscriber.on('message', function(channel, message){
  console.log('Message ' + message + ' on channel ' + channel + ' arrived!');
});

subscriber.on('subscribe', function(channel){
  publisher.publish('test', 'the a team');
  publisher.publish('test', 'the b team');  
})

subscriber.subscribe('test');

这是我试图理解redis的简短代码。

3) 我不知道如何使用redis 读取存储在Mysql 中的数据并根据用户的兴趣显示聊天室。

Redis 是高级键值缓存,store.Its 操作不能直接映射到 mysql。

在redis 中,您可以在键下设置键值对或散列。 那是 : 如果你想将你的名字存储在 redis 中,可以通过以下方式完成:

var client = redis.createClient();
client.set("name", "John")
 

使用 client.get("name")

检索值

类似地,在单个键下,您可以将多个键值对存储为散列。 如果你想存储他们的详细信息,如年龄、地点、公司 etc.Then,则应使用名称下的哈希值。 Redis 有方法 "hmset""hmget" 用于哈希操作。

在redis中就像在缓存中一样你可以设置过期时间。

有不同的方法可用。你可以探索那些。 供参考http://redis.io/commands