2011-06-01 13 views
8

के माध्यम से स्टोर करना चाहते हैं, मैं Redis में उपयोगकर्ताओं के हैश/जेएसओएन डेटा को स्टोर करना चाहता हूं और उपयोगकर्ताओं को इस तरह के उपयोगकर्ता डेटा को जोड़ना चाहता हूं।Redis में Node.js

उदाहरण के लिए, users = {};

जब उपयोगकर्ता rahul तब users में लॉग बन जाएगा।

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

और जब उपयोगकर्ता नमिता लॉगिन तो

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

    }, 
    namita: { 
     username: 'namita', 

    } 
} 

क्या कोड इस Redis में क्या करना होगा?

मैं users कुंजी कैसे शुरू करूं और राहुल जोड़ूं?

इस सेट में से, हेसेट, इत्यादि, मुझे किस फ़ंक्शन का उपयोग करने की आवश्यकता है?

और मैं रेडिस के माध्यम से users['rahul'] के डेटा को कैसे पुनर्प्राप्त करूं?

उत्तर

22

शायद एकल हैश/जेसन स्टोर करने का सबसे इष्टतम समाधान hashes आदेशों का उपयोग करना होगा। मेरे पास यह "dilemma" था और रेडिस में जेएसओएन जैसी वस्तुओं वाले उपयोगकर्ताओं के डेटा संरचना के संबंध में severalquestions हैं।

संपादित

उपयोग node_redis मॉड्यूल। यह सक्रिय रूप से रेडिस के लिए सबसे अधिक इस्तेमाल किए जाने वाले node.js ड्राइवर के समर्थक द्वारा बनाए रखा जाता है। सबसे पहले आपको "उपयोगकर्ता" में कौन से आइटम हैं, यह ट्रैक करने के लिए सेट में अपना नया JSON ऑब्जेक्ट नाम जोड़ने के लिए SADD कमांड का उपयोग करना चाहिए। फिर "उपयोगकर्ता: rahul" ऑब्जेक्ट कुंजी-मान हैश स्टोर करने के लिए HMSET का उपयोग करें। उदाहरण:

// 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 readme और examples पर देखने का प्रयास करें जहां आपको अपने एपीआई के बारे में अधिक जानकारी मिलनी चाहिए।

+0

कृपया नमूना कोड लिखें, मैं उपयोगकर्ताओं के बाद ये सुझाव पूछता हूं लेकिन पहले उपयोगकर्ताओं को हैश घोषित करने के लिए कैसे? या redissql का उपयोग करने की योजना बना रहा हूँ यह अच्छा है? – XMen

+1

@ राहुल मेहता: उत्तर अपडेट किया गया। – yojimbo87