簡體   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