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

रेडिस - स्मृति उपयोग की निगरानी

रेडिस के प्रदर्शन के लिए मेमोरी एक महत्वपूर्ण संसाधन है। प्रयुक्त मेमोरी अपने आवंटक (या तो मानक libc, jemalloc, या tcmalloc जैसे वैकल्पिक आवंटक) का उपयोग करके Redis द्वारा आवंटित बाइट्स की कुल संख्या को परिभाषित करती है।

आप "जानकारी मेमोरी" चलाकर रेडिस इंस्टेंस के लिए सभी मेमोरी उपयोग मेट्रिक्स डेटा एकत्र कर सकते हैं।

 
127.0.0.1:6379> info memory
Memory
used_memory:1007280
used_memory_human:983.67K
used_memory_rss:2002944
used_memory_rss_human:1.91M
used_memory_peak:1008128
used_memory_peak_human:984.50K

कभी-कभी, जब रेडिस को अधिकतम मेमोरी सीमा के साथ कॉन्फ़िगर किया जाता है, तो मेमोरी का उपयोग अंततः सिस्टम मेमोरी तक पहुंच जाएगा, और सर्वर "मेमोरी से बाहर" त्रुटियों को फेंकना शुरू कर देगा। अन्य समय में, रेडिस को अधिकतम मेमोरी सीमा के साथ कॉन्फ़िगर किया गया है लेकिन नोइविक्शन नीति। यह सर्वर को किसी भी कुंजी को बेदखल नहीं करने का कारण बनता है, इस प्रकार स्मृति मुक्त होने तक किसी भी लिखने को रोकता है। ऐसी समस्याओं का समाधान रेडिस को अधिकतम मेमोरी और कुछ निष्कासन नीति के साथ कॉन्फ़िगर करना होगा। इस मामले में, सर्वर मेमोरी उपयोग अधिकतम तक पहुंचने पर बेदखली नीति का उपयोग करके कुंजियों को निकालना शुरू कर देता है।

मेमोरी आरएसएस (निवासी सेट आकार) बाइट्स की संख्या है जिसे ऑपरेटिंग सिस्टम ने रेडिस को आवंटित किया है। यदि 'memory_rss' और 'memory_used' का अनुपात ~1.5 से अधिक है, तो यह मेमोरी फ़्रेग्मेंटेशन को दर्शाता है। सर्वर को पुनरारंभ करके खंडित स्मृति को पुनर्प्राप्त किया जा सकता है।



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. स्प्रिंग डेटा के साथ जेडिस का उपयोग करते समय रेडिस में अजीब कुंजी के साथ डेटा क्यों संग्रहीत किया जा रहा है?

  2. Socket.io को 0.9.x से 1.x में माइग्रेट करना, RedisStore को कॉन्फ़िगर करने में समस्या

  3. अजवाइन कार्य से मल्टीप्रोसेसिंग पूल का उपयोग अपवाद उठाता है

  4. रेडिस दो अलग-अलग क्रमबद्ध सेटों के अनुसार कैसे क्रमबद्ध हो सकता है?

  5. Nestjs redis microservice का उपयोग कैसे करें?