[英]Node.js redis pubsub
我真的是 nodejs 的初学者。 我想用 nodejs 做一个聊天服务。 我使用 nodejs/jade/mysql 来构建我的系统的基本部分,现在我想向用户提供 pub/sub。
我们从文本字段或使用哈希标签接收用户的兴趣(无论如何我们收到用户的兴趣并存储在 MySQL 中 -> 我们做到了)。 然后,我们要根据用户的兴趣显示用户聊天室列表。 例如A的兴趣是“游戏”、“汽车”和“食物”,然后我们用“游戏”、“汽车”、“食物”搜索聊天室,并首先向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 是一个高级的key-value 缓存和存储,它的操作不能直接映射到mysql。
在 redis 中,您可以在键下设置键值对或散列。 也就是说:如果您想将您的名字存储在 redis 中,可以通过以下方式完成:
var client = redis.createClient(); client.set("name", "John")
使用 client.get("name") 检索值
同样,在单个键下,您可以将多个键值对存储为哈希。 如果您想存储他们的详细信息(例如年龄、地点、公司等),则使用名称命名。然后应使用哈希。 Redis 具有用于哈希操作的方法“hmset”和“hmget” 。
在像缓存一样的 redis 中,您可以设置到期时间。
有不同的方法可用。 你可以探索这些。 供参考http://redis.io/commands
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.