2011-06-01 56 views
8

我想在Redis中存儲用戶的散列/ JSON數據,並希望在用戶中添加用戶散列用戶數據。想要通過Node.js存儲在Redis中

例如,users = {};

當用戶rahul登錄,然後users將成爲。

users = { 
    rahul: { 
     username: 'rahul',   
    } 
} 

而且用戶namita登錄時則

users = { 
    rahul: { 
     username: 'rahul', 

    }, 
    namita: { 
     username: 'namita', 

    } 
} 

會是什麼代碼在Redis的做到這一點?

我將如何初始化密鑰users並添加rahul

在這個集合中,hset等等,我需要使用哪個函數?

如何通過Redis檢索users['rahul']的數據?

回答

22

可能存儲單個散列/ json的最佳解決方案可能是使用hashes命令。我也有這個「dilemma」,並有severalquestions有關包含Redis中類似JSON對象的用戶的數據結構。

編輯

使用node_redis模塊。它由專業人士主動維護,可能是Redis最常用的node.js驅動程序。首先,您應該使用SADD命令將新的JSON對象名稱添加到集合中,以跟蹤「用戶」包含的項目。然後使用HMSET來存儲「user:rahul」對象鍵值哈希值。例如:

// add first user 
client.sadd("users", "user:rahul"); 
client.hmset("user:rahul", "username", "rahul", "foo", "bar"); 

// add second user 
client.sadd("users", "user:namita"); 
client.hmset("user:namita", "username", "namita", "foo", "baz"); 

您現在可以通過不同類型的Redis hash命令的根據,如果你只想檢索某些哈希值或整單用戶對象訪問用戶。例如,要獲取所有用戶,您可以使用SMEMBERS命令。嘗試查看node_redis readmeexamples,您應該在其中找到有關其API的更多信息。

+0

請寫下示例代碼,我已經經歷了這些建議後的用戶,但首先如何聲明用戶散列?或者正在計劃使用redissql是否好? – XMen 2011-06-01 07:28:27

+1

@Rahul Mehta:答覆已更新。 – yojimbo87 2011-06-01 08:24:02