2013-11-26 28 views
0

我對Node.js相當陌生,我試圖用Express和Redis創建一個博客。從Redis集合中倒置搜索

我的問題是,我有點迷失在NoSQL中,我真的不知道應該如何設計我的Redis數據。

我想做的事:

SET global:postsNb 0 
SET posts:1:text blablabla 
SADD posts:1:tags a 
SADD posts:1:tags b 
SADD posts:1:tags c 

這似乎很自然的,但我不知道我怎麼可以搜索的所有帖子,其中一個在標籤

你能幫我嗎?

在此先感謝。

回答

0

這似乎很自然,但我不知道如何搜索所有帖子裏的一個標籤。

你需要財產以後這樣的:

SADD tags:[tagname] [postId] 

例如,創建一個帖子的時候(與ID = 1,標記= A,B,C,含量= ...)運行以下命令:

SADD tags:a 1 
SADD tags:b 1 
SADD tags:c 1 

然後檢索具有標籤a所有帖子:

SMEMBERS tags:a 

現在用檢索到的ID只需獲取每篇文章,您需要顯示。

PS:HASH比存儲博客文章的字符串比較方便,所以不是:

SET posts:1:text 

您可能需要使用HMSET代替

HMSET posts:1 text blablabla createdAt 1385547056549 

它可以讓你添加使用HGETALL或HMGET可以輕鬆檢索更多屬性/元數據。