gpt4 book ai didi

mysql - Node.js redis 发布订阅

转载 作者:可可西里 更新时间:2023-11-01 11:50:18 28 4
gpt4 key购买 nike

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

我们从文本字段或使用哈希标签接收用户的兴趣(无论如何我们接收用户的兴趣并存储在 MySQL 中 -> 我们做到了)。然后,我们要根据用户的兴趣向他们显示聊天室列表。例如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

关于mysql - Node.js redis 发布订阅,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30929135/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com