Redis
 sql >> डेटाबेस >  >> NoSQL >> Redis

Redis - लेन-देन में Incr मान का उपयोग करना

उपरोक्त स्वीकृत उत्तर अनावश्यक रूप से जटिल है। ऐसे में आपको मल्टी या वॉच का इस्तेमाल करने की जरूरत नहीं है। INCR पहले से ही परमाणु है, और इस सटीक परिदृश्य के लिए डिज़ाइन किया गया है। संपादित करें:स्वीकृत उत्तर बदलने के लिए इटमार हैबर और रॉब 007 का धन्यवाद। :)

आप बस यह कर सकते हैं:

var name = 'Josh';
client.incr('id', function(err, id) {
    client.hmset('user:' + id, 'username', name);
});

उपरोक्त करने से, आईएनसीआर स्वचालित रूप से "आईडी" कुंजी को लॉक कर देता है, इसे आपके लिए बढ़ाता है, इसे अनलॉक करता है, और इसे आपको वापस कर देता है। इस प्रकार, उपरोक्त कोड का उपयोग करके किसी के लिए भी डुप्लिकेट उपयोगकर्ता आईडी प्राप्त करने का कोई तरीका नहीं है। वॉच/जीईटी के विपरीत, इसका वास्तव में कभी भी असफल होने का लाभ नहीं है, जहां आपको विफलताओं की जांच करनी होगी और असफल होने पर अपने प्रश्नों को फिर से चलाना होगा।




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. रिलेशनल डीबी इन-मेमोरी?

  2. मैं स्प्रिंग बूट एप्लिकेशन में स्प्रिंग सुरक्षा और रेडिस के साथ वर्तमान में प्रमाणित उपयोगकर्ता प्रिंसिपल कैसे प्राप्त कर सकता हूं?

  3. क्लासिक एएसपी (वीबीस्क्रिप्ट) के तहत रेडिस

  4. एसिंक कमांड और टास्क के बाद टाइमआउट अपवाद। जब कोई स्टैक एक्सचेंज में इंतजार कर रहा है। रेडिस

  5. StackExchange.Redis के साथ समानांतर निष्पादन?