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

दो रेडिस इंस्टेंस को दो डीबीएस के साथ एक ही इंस्टेंस में मिलाएं

संपादित करें

यह उत्तर अब रेडिस के नए संस्करणों के लिए सटीक नहीं है। ऐतिहासिक कारणों से उत्तर छोड़ना।

यदि आप बाइनरी फ़ाइलों के साथ थोड़ा सा खेलना चाहते हैं, तो आप आसानी से दो डंप.आरडीबी फाइलों को एक में जोड़ सकते हैं।

अनुमान :

  1. प्रत्येक डंप में केवल एक डेटाबेस होता है - डिफ़ॉल्ट डेटाबेस
  2. आप Redis 2.4.x का उपयोग कर रहे हैं, और इसलिए डंप संस्करण 2 या 3 है

यदि आप फ़ाइल को हेक्स संपादक में खोलते हैं, तो यह RDB फ़ाइल का प्रारूप है -

REDIS000x FE 00 <actual data > FF

यहाँ -

  • 000x आरडीबी संस्करण संख्या है। आपके मामले में यह संभवतः 0002 या 0003 होगा
  • FE डेटाबेस चयनकर्ता है, और 00 डेटाबेस नंबर है
  • <actual data> वर्तमान डेटाबेस में की-वैल्यू पेयर है। आप इसे अपने वर्तमान उद्देश्य के लिए बाइनरी ब्लॉब के रूप में मान सकते हैं।
  • FF फ़ाइल में अंतिम बाइट है और rdb फ़ाइल के अंत को इंगित करता है

तो दो आरडीबी फाइलों को मर्ज करने के लिए, निम्न कार्य करें -

  1. नई गंतव्य फ़ाइल बनाएं
  2. अंतिम FF को छोड़कर पहली फ़ाइल से सब कुछ कॉपी करें
  3. दो बाइट्स कॉपी करें FE 01 दूसरे डेटाबेस की शुरुआत को इंगित करने के लिए
  4. ध्यान दें:यदि आप सुनिश्चित हैं कि दो डेटाबेस में डुप्लिकेट कुंजियाँ नहीं हैं, और आप उन्हें एक एकल डेटाबेस में संयोजित करना चाहते हैं, तो बस दो बाइट्स FE 01 को छोड़ दें ऊपर उल्लेख किया गया है।
  5. दूसरी फ़ाइल से, पहले 11 बाइट्स छोड़ें - यानी REDIS000x FE 00 छोड़ें
  6. आखिरी बाइट सहित बाकी दूसरी फाइल पर कॉपी करें FF

अब आप इस नए डंप.आरडीबी को रेडिस में उपयुक्त निर्देशिका में कॉपी कर सकते हैं और पुनः आरंभ कर सकते हैं।

यदि आप रुचि रखते हैं, तो यहां रेडिस डंप फ़ाइल प्रारूप का पूरा दस्तावेज़ीकरण है, लेकिन इस सरल उपयोग के मामले में आपको यह सब समझने की आवश्यकता नहीं है।



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Redis और Node.js और Socket.io प्रश्न

  2. रेडिस - क्रमबद्ध सेट, संपत्ति मूल्य द्वारा आइटम ढूंढें

  3. एक PHP अनुप्रयोग से पृष्ठ अनुरोध डेटा लॉग करने का स्केलेबल तरीका?

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

  5. SQLite से Redis में पोर्ट करना