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

रेडिस में AOF और RDB बैकअप

<ब्लॉकक्वॉट>

क्या इसका मतलब यह है कि व्यावहारिक रूप से, मुझे हर 60 सेकंड में बैकअप मिल रहा है?

नहीं . रेडिस 60 सेकंड के बाद एक पृष्ठभूमि सहेजता है, यदि कम से कम 10000 कुंजियाँ बदली गई हैं . अन्यथा, यह बैकग्राउंड सेव नहीं करता है।

<ब्लॉकक्वॉट>

क्या एपेंडोनली ऑन और एपेंडफसिंक हर सेकेंड का उपयोग करने से प्रदर्शन डाउनग्रेड हो जाएगा? क्या यह सीपीयू से टकराएगा? लिखने का भार बहुत अधिक है।

यह कई चीजों पर निर्भर करता है, उदा। डिस्क प्रदर्शन (SSD VS HDD), राइट / रीड लोड (QPS), डेटा मॉडल, और इसी तरह। आपको अपने विशिष्ट परिवेश में अपने स्वयं के डेटा के साथ एक बेंचमार्क करने की आवश्यकता है।

<ब्लॉकक्वॉट>

एक बार जब मैं इन नई सेटिंग्स के साथ रेडिस सर्वर को पुनरारंभ करता हूं, तब भी मैं अपने डेटा के अंतिम 60 सेकंड खो दूंगा, है ना?

नहीं . यदि आप AOF और RDB दोनों को चालू करते हैं, जब Redis पुनरारंभ होता है, AOF फ़ाइल का उपयोग डेटाबेस के पुनर्निर्माण के लिए किया जाएगा। चूंकि आप इसे appendfsync everysec . में कॉन्फ़िगर करते हैं , आप केवल अंतिम 1 सेकंड खो देंगे डेटा का।

<ब्लॉकक्वॉट>

क्या पुनरारंभ समय चिंता का विषय है? मेरी डंप.आरडीबी फ़ाइल छोटी है; ~90एमबी.

यदि आप AOF चालू करते हैं, और जब Redis पुनरारंभ होता है, तो यह डेटाबेस के पुनर्निर्माण के लिए AOF फ़ाइल में लॉग को फिर से चलाता है। आम तौर पर AOF फ़ाइल RDB फ़ाइल से बड़ी होती है, और यह RDB फ़ाइल से पुनर्प्राप्त करने की तुलना में धीमी हो सकती है। क्या आपको इसकी चिंता करनी चाहिए? अपने विशिष्ट परिवेश में अपने स्वयं के डेटा के साथ एक बेंचमार्क करें।

संपादित करें

महत्वपूर्ण सूचना

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

क्योंकि, एक बार जब आप appendonly yes . सेट कर देते हैं redis.conf में, और Redis को पुनरारंभ करें, यह AOF फ़ाइल से डेटा लोड करेगा, चाहे फ़ाइल मौजूद हो या नहीं। यदि फ़ाइल मौजूद नहीं है, तो यह एक खाली फ़ाइल बनाता है, और उस खाली फ़ाइल से डेटा लोड करने का प्रयास करता है। तो आप सब कुछ खो देंगे।

वास्तव में, आपको AOF चालू करने के लिए Redis को पुनरारंभ करने की आवश्यकता नहीं है। इसके बजाय, आप config set . का उपयोग कर सकते हैं इसे गतिशील रूप से चालू करने का आदेश:config set appendonly yes




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. रेडिस कमांड का एसिंक्स निष्पादन

  2. स्टैक ओवरफ़्लो, रेडिस और कैश अमान्यकरण

  3. समय-आधारित मानों को छाँटने के लिए रेडिस डेटा संरचना डिज़ाइन

  4. रेल एप्लिकेशन के लिए Amazon OpsWorks पर Redis कैसे चलाएं?

  5. बहुत सारे टाइमर सेट करने या निर्धारित कार्य कतार का उपयोग करने के बीच समाधान की तलाश में