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

क्या यह सर्विसस्टैक रेडिस का वैध उपयोग है?

असल में जब आप PersonClient.Lists["urn:names:current"] . का उपयोग करते हैं आप वास्तव में RedisClient कनेक्शन का संदर्भ संग्रहीत कर रहे हैं जो थ्रेड सुरक्षित नहीं है। यह ठीक है अगर यह जीयूआई या कंसोल ऐप में है, लेकिन बहु-थ्रेडेड वेब ऐप में आदर्श नहीं है। अधिकांश परिदृश्यों में आप थ्रेड सुरक्षित कनेक्शन फ़ैक्टरी का उपयोग करना चाहते हैं, अर्थात

var redisManager = new PooledRedisClientManager("localhost:6379");

जो काफी हद तक डेटाबेस कनेक्शन पूल की तरह काम करता है। इसलिए जब भी आप RedisClient को एक्सेस करना चाहते हैं तो यह काम करता है जैसे:

using (var redis = redisManager.GetClient())
{
    var allItems = redis.As<Person>().Lists["urn:names:current"].GetAll();
}

नोट:.As<T> .GetTypedClient<T> एक रेडिस मैनेजर से टाइप किए गए क्लाइंट को निष्पादित करने के लिए एक और सुविधाजनक शॉर्टकट है:

var allItems = redisManager.ExecAs<Person>(r => r.Lists["urn:names:current"].GetAll());

मैं आमतौर पर IRedisClientsManager . से गुजरना पसंद करता हूं मेरे कोड में, इसलिए इसमें RedisClient कनेक्शन नहीं है, लेकिन जब भी इसकी आवश्यकता हो, इसे एक्सेस कर सकते हैं।



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. सर्विसस्टैक रेडिस, लुआ तालिका को सूची के रूप में कैसे वापस करें

  2. रेडिस सेट का उपयोग करना

  3. रेडिस पायथन - एक विशिष्ट पैटर्न के अनुसार सभी कुंजियों को कैसे हटाएं, अजगर में, बिना अजगर की पुनरावृत्ति के

  4. क्या आप Amazon के बाहर Amazon ElastiСache Redis से जुड़ सकते हैं?

  5. कनेक्शन विफल होने पर तुरंत त्रुटियों को फेंकने के लिए नोड रेडिस क्लाइंट को कैसे कॉन्फ़िगर करें? [विवरण पढ़ें]