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
我真的是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