उपरोक्त स्वीकृत उत्तर अनावश्यक रूप से जटिल है। ऐसे में आपको मल्टी या वॉच का इस्तेमाल करने की जरूरत नहीं है। INCR पहले से ही परमाणु है, और इस सटीक परिदृश्य के लिए डिज़ाइन किया गया है। संपादित करें:स्वीकृत उत्तर बदलने के लिए इटमार हैबर और रॉब 007 का धन्यवाद। :)पी>
आप बस यह कर सकते हैं:
var name = 'Josh';
client.incr('id', function(err, id) {
client.hmset('user:' + id, 'username', name);
});
उपरोक्त करने से, आईएनसीआर स्वचालित रूप से "आईडी" कुंजी को लॉक कर देता है, इसे आपके लिए बढ़ाता है, इसे अनलॉक करता है, और इसे आपको वापस कर देता है। इस प्रकार, उपरोक्त कोड का उपयोग करके किसी के लिए भी डुप्लिकेट उपयोगकर्ता आईडी प्राप्त करने का कोई तरीका नहीं है। वॉच/जीईटी के विपरीत, इसका वास्तव में कभी भी असफल होने का लाभ नहीं है, जहां आपको विफलताओं की जांच करनी होगी और असफल होने पर अपने प्रश्नों को फिर से चलाना होगा।