繁体   English   中英

Node.js redis 发布订阅

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM