Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Redis

Redis RDB फ़ाइलों का विश्लेषण करने के लिए व्यापक उपकरण

पृष्ठभूमि

<पी> कभी-कभी, रेडिस का उपयोग करने की प्रक्रिया में, हमें बहुत अधिक मेमोरी या पूर्ण बैंडविड्थ जैसी समस्याओं का सामना करना पड़ सकता है। जब हम इन समस्याओं का सामना करते हैं, तो हमें रेडिस की मेमोरी का विश्लेषण करने की आवश्यकता होती है।

<पी> रेडिस के लिए मेमोरी विश्लेषण दो प्रकार के होते हैं:ऑनलाइन विश्लेषण और ऑफ़लाइन विश्लेषण। ऑनलाइन विश्लेषण सीधे रेडिस सर्वर से जुड़ता है और उसकी मेमोरी का विश्लेषण करता है, जिससे रेडिस सर्वर पर लोड बढ़ जाएगा। इससे रेडिस सर्वर की स्थिरता प्रभावित हो सकती है। ऑफ़लाइन विश्लेषण आरडीबी बैकअप फ़ाइलों पर आधारित है, जो रेडिस सर्वर की स्थिरता को प्रभावित नहीं करेगा। इसकी अनुशंसा तब की जाती है जब उपयोग की गई मेमोरी 2GB से अधिक हो।

<पी> हम रेडिस की मेमोरी का ऑफ़लाइन विश्लेषण कैसे कर सकते हैं? ओपन सोर्स की दुनिया में दो प्रसिद्ध उपकरण हैं जो हमारी मदद कर सकते हैं:रेडिस-आरडीबी-टूल्स और आरडीआर। <पी> redis-rdb-tools को Python द्वारा कार्यान्वित किया जाता है, और rdr को Golang द्वारा कार्यान्वित किया जाता है। यदि डेवलपर्स इन दो भाषाओं से परिचित नहीं हैं और उनके आधार पर कुछ कार्यों का विस्तार करना चाहते हैं, तो प्रक्रिया अधिक कठिन हो सकती है। इसके बाद, मैं C# द्वारा कार्यान्वित एक और ऑफ़लाइन विश्लेषण टूल पेश करूंगा जिसका विस्तार करना C# डेवलपर्स के लिए आसान होगा।

आरडीबी-टूल्स

<पी> आरडीबी-टूल्स रेडिस आरडीबी फ़ाइलों को पार्स/विश्लेषण करने का एक उपकरण है जिसे सी# द्वारा कार्यान्वित किया जाता है।

<पी> इसमें दो भाग होते हैं:

  • एक पार्सर लाइब्रेरी, जिसे आप स्वयं अनुकूलित कर सकते हैं।
  • एक एनलिसिस सीएलआई टूल, जिससे आप कमांड लाइन के लिए कुछ बुनियादी उपयोगों का विश्लेषण कर सकते हैं।
<पी> पार्सर लाइब्रेरी net6.0 पर आधारित है  ताकि हम इसका विस्तार आसानी से कर सकें.

<पी> सीएलआई टूल भी net6.0 पर आधारित है , जो कमांड-लाइन-एपीआई का उपयोग करके बनाया गया है और इसे रनटाइम निर्भरता के बिना बाइनरी फ़ाइलों में पैक किया जा सकता है।

सीएलआई टूल का उपयोग

<पी> rdb-cli इंस्टॉल करने के दो तरीके हैं .

  1. यदि आप .NET 6.0 SDK इंस्टॉल नहीं करते हैं, तो अपने OS संस्करण के आधार पर नवीनतम स्थिर रिलीज़ से टूल डाउनलोड करें।
  2. यदि आपने .NET 6.0 SDK इंस्टॉल किया है, तो आप dotnet tool install --global rdb-cli का उपयोग कर सकते हैं  स्थापित करने के लिए.
<पी> यहां हम पहला तरीका बताएंगे.

<पी> डाउनलोड करने और निकालने के बाद, आपको rdb-cli नामक एक निष्पादन योग्य फ़ाइल मिलेगी .

<पी> इनपुट ./rdb-cli -h  सहायता जानकारी प्राप्त करने के लिए.

<पी> Redis RDB फ़ाइलों का विश्लेषण करने के लिए व्यापक उपकरण

<पी> जैसा कि आप देख सकते हैं, दो कमांड हैं जिनका हम उपयोग कर सकते हैं। सबसे महत्वपूर्ण कमांड मेमोरी है .

<पी> Redis RDB फ़ाइलों का विश्लेषण करने के लिए व्यापक उपकरण

<पी> सहायता जानकारी से, आप देख सकते हैं कि आपको आरडीबी फ़ाइल और कुछ विशिष्ट विकल्प निर्दिष्ट करने की आवश्यकता है।

<पी> एक सरल और सामान्य उदाहरण इस प्रकार है:

./rdb-cli memory /tmp/test/demo.rdb -ot html
<पी> यह कमांड rdb फ़ाइल का विश्लेषण करेगा, और विश्लेषण परिणाम HTML के रूप में प्रस्तुत किए जाएंगे।

<पी> नीचे दिया गया स्क्रीनशॉट निष्पादन कमांड का आउटपुट दिखाता है। यह स्पष्ट है कि 2.1GB RDB फ़ाइल का विश्लेषण करने में केवल 32 सेकंड लगते हैं, जो अपेक्षाकृत तेज़ गति है।

<पी> Redis RDB फ़ाइलों का विश्लेषण करने के लिए व्यापक उपकरण

<पी> /tmp/test/res.html में विस्तृत HTML रिपोर्ट आउटपुट <पी> आइये इस पर एक नजर डालते हैं।

<पी> Redis RDB फ़ाइलों का विश्लेषण करने के लिए व्यापक उपकरण

<पी> Redis RDB फ़ाइलों का विश्लेषण करने के लिए व्यापक उपकरण

<पी> Redis RDB फ़ाइलों का विश्लेषण करने के लिए व्यापक उपकरण

<पी> Redis RDB फ़ाइलों का विश्लेषण करने के लिए व्यापक उपकरण

<पी> HTML परिणाम में तीन भाग होते हैं:

<पी> पहला भाग बुनियादी जानकारी है, जिसमें आरडीबी संस्करण की जानकारी, रेडिस संस्करण की जानकारी, कुल मेमोरी और कुंजियों की कुल संख्या शामिल है।

<पी> दूसरा भाग कुछ हिस्टोग्राम है, मुख्य रूप से विभिन्न डेटा प्रकारों की मेमोरी और मात्रा वितरण, साथ ही समाप्ति समय की मेमोरी और मात्रा वितरण।

<पी> तीसरा भाग कुछ तालिकाएँ हैं, जिनमें शीर्ष कुंजी उपसर्ग सूची, शीर्ष बड़ी कुंजी सूची, शीर्ष स्ट्रीम सूची और फ़ंक्शन सूची (रेडिस 7.0) शामिल हैं।

<पी> इसके अतिरिक्त, यदि आप सभी सूचनाओं का विश्लेषण नहीं करना चाहते हैं और कुछ शर्तों को फ़िल्टर करना चाहते हैं, तो आप विभिन्न पैरामीटर विकल्प निर्दिष्ट कर सकते हैं।

<पी> दो उदाहरण:

<पी> 1. जब आप केवल DB 9 और DB 10 का विश्लेषण करना चाहते हैं:

./rdb-cli memory /tmp/test/demo.rdb -ot html --db 9 --db 10
<पी> 2. जब आप केवल हैश और स्ट्रिंग प्रकारों का विश्लेषण करना चाहते हैं:

./rdb-cli memory /tmp/test/demo.rdb -ot html --type string --type hash
<पी> 2~8GB RDB फ़ाइलों का विश्लेषण संदर्भ के लिए पूरक है।

<पी> Redis RDB फ़ाइलों का विश्लेषण करने के लिए व्यापक उपकरण

<पी> ऊपर वर्णित सीएलआई उपकरण आपकी आवश्यकताओं के लिए पूरी तरह उपयुक्त नहीं हो सकते हैं। इस समय, हम पार्सिंग क्लास लाइब्रेरी के आधार पर अपनी अनुकूलन आवश्यकताओं को अनुकूलित कर सकते हैं।

पार्सर लाइब्रेरी का उपयोग

<पी> इंस्टॉल करें RDBParse  सबसे पहले nuget से पैकेज।

dotnet add package RDBParse
<पी> इसके बाद, आपको IReaderCallback को लागू करने के लिए एक कार्यान्वयन वर्ग जोड़ना होगा   इंटरफ़ेस.

<पी> फिर, BinaryReaderRDBParser का एक नया उदाहरण बनाएं   क्लास.

<पी> अंत में, Parse पर कॉल करें  BinaryReaderRDBParser की विधि का उदाहरण.

<पी> उदाहरण के लिए इस नीचे दिए गए कोड का अनुसरण करें।

public class MyReaderCallBack : IReaderCallback
{
}
var path = "/yourpath/your.rdb"
var cb = new MyReaderCallBack();
var parser = new RDBParser.BinaryReaderRDBParser(cb);
parser.Parse(path);

सारांश

<पी> यह आलेख C# पर आधारित RDB विश्लेषण उपकरण का परिचय देता है और इसके मूल उपयोग और इसे अनुकूलित करने के तरीके को समझता है।

<पी> मुझे आशा है कि इससे आपको मदद मिलेगी!

<पी> संदर्भ
  • आरडीबी-टूल्स जीथब पेज
  • रेडिस का rdb.c
  • rdr github पेज
  • रेडिस-आरडीबी-टूल्स जीथब पेज

  1. आपकी HTML रंग संपत्ति को कोड करने के लिए 4 युक्तियाँ आपकी HTML रंग संपत्ति को कोड करने के लिए 4 युक्तियाँ

    वेब के लिए कोडिंग एक मैला मामला हो सकता है। आप जहां जाना चाहते हैं वहां पहुंचने के लिए अक्सर कई विधियां होती हैं, और उनमें से कुछ दूसरों की तुलना में अधिक कुशल या अधिक प्रभावी हो सकती हैं। क्या अधिक है, कुछ समाधान सभी परिस्थितियों में भी काम नहीं कर सकते हैं। एक अच्छी वेबसाइट और एक महान वेबसाइट के ब

  1. Matplotlib ग्राफ के नीचे सफेद जगहों को कैसे हटाएं? Matplotlib ग्राफ के नीचे सफेद जगहों को कैसे हटाएं?

    Matplotlib ग्राफ़ के निचले भाग में रिक्त स्थान निकालने के लिए, हम तंग लेआउट . का उपयोग कर सकते हैं या autoscale_on=गलत । कदम फिगर साइज सेट करें और सबप्लॉट्स के बीच और आसपास पैडिंग को एडजस्ट करें। एक नया आंकड़ा बनाएं या मौजूदा आंकड़ा सक्रिय करें। एक कुल्हाड़ीजोड़ें एक सबप्लॉट व्यवस्था के हिस

  1. Matplotlib का उपयोग करके मेरे सीबॉर्न प्लॉट में लेजेंड का फ़ॉन्ट आकार कैसे बढ़ाएं? Matplotlib का उपयोग करके मेरे सीबॉर्न प्लॉट में लेजेंड का फ़ॉन्ट आकार कैसे बढ़ाएं?

    सीबॉर्न प्लॉट में लेजेंड के फॉन्ट साइज को बढ़ाने के लिए, हम फॉन्टसाइज वेरिएबल का उपयोग कर सकते हैं और इसका उपयोग लीजेंड () में कर सकते हैं। विधि तर्क। कदम पांडा का उपयोग करके डेटा फ़्रेम बनाएं। कुंजियाँ संख्या, गिनती और चयन हैं। barplot() . का उपयोग करके सीबॉर्न में बार प्लॉट करें विधि। वैर