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

Redis SET का प्रदर्शन GET से बेहतर क्यों है?

वास्तव में यह केवल एक प्रभाव है कि डिफ़ॉल्ट रूप से आप वास्तविक कमांड निष्पादन समय से अधिक I/O मापते हैं। यदि आप बेंचमार्क में पाइपलाइनिंग को सक्षम करना शुरू करते हैं, तो यह वास्तविक कमांड प्रदर्शन का थोड़ा अधिक माप है, और संख्याएं बदल जाएंगी:

$ redis-benchmark -q -n 1000000 -P 32 set foo bar
set foo bar: 338964.03
$ redis-benchmark -q -n 1000000 -P 32 get foo
get foo: 432713.09 requests per second

अब GET तेज है :-)

हमें अपने बेंचमार्क दस्तावेज़ पृष्ठ में पाइपलाइनिंग को शामिल करना चाहिए।

संपादित करें: यह यहाँ और भी स्पष्ट है:

redis 127.0.0.1:6379> info commandstats
# Commandstats
cmdstat_get:calls=1001568,usec=221845,usec_per_call=0.22
cmdstat_set:calls=831104,usec=498235,usec_per_call=0.60

यह आदेश I/O के लिए लेखांकन के बिना आंतरिक रूप से अनुरोध को पूरा करने के लिए CPU समय प्रदान करता है। SET संसाधित होने में तीन गुना धीमा है।




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. क्लस्टर का उपयोग करके Socket.IO को कई Node.js प्रक्रियाओं में स्केल करना

  2. रेडिस फ़ील्ड मानों द्वारा हैश ढूंढ रहा है

  3. क्या हायरडिस रेडिस लाइब्रेरी एसिंक्स कॉलबैक के लिए अपना खुद का थ्रेड बनाती है

  4. विंडोज़ होस्ट से डॉकराइज़्ड रेडिस एक्सेस करें

  5. StackExchange.Redis और StackExchange.Redis.StrongName में क्या अंतर है?