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