रेडिस आरडीबी का पूरा नाम क्या है? रेडिस आरडीबी मेमोरी डेटा दृढ़ता ऑपरेशन मोड

आरडीबी का पूरा नाम हैRedis database.

  • जैसा कि नाम से पता चलता है, RDB एक Redis डेटाबेस है जिसका उपयोग डेटा को स्टोर करने के लिए किया जाता है।
  • इसलिए, RDB दृढ़ता के माध्यम से, Redis मेमोरी में संग्रहीत डेटा को RDB फ़ाइल में लिखा जाता है और दृढ़ता प्राप्त करने के लिए डिस्क में सहेजा जाता है।
  • रेडिस की विशेषता यह है कि यह डेटा को बनाए रख सकता है, अर्थात, यह सुनिश्चित करने के लिए कि कोई डेटा खो नहीं गया है, मेमोरी में डेटा लिखें, और डिस्क से डेटा को मेमोरी में लोड भी कर सकता है।

रेडिस आरडीबी का पूरा नाम क्या है? रेडिस आरडीबी मेमोरी डेटा दृढ़ता ऑपरेशन मोड

शुरुआत में रेडिस का संचालन सभी मेमोरी पर आधारित होता है, इसलिए प्रदर्शन बहुत अधिक होता है, लेकिन प्रोग्राम बंद होने के बाद, डेटा खो जाता है।

इसलिए, हमें निर्दिष्ट अंतराल पर डिस्क में इन-मेमोरी डेटा लिखने की आवश्यकता होती है, जो कि शब्दजाल में स्नैपशॉट है।

पुनर्स्थापित करते समय, स्नैपशॉट फ़ाइल सीधे मेमोरी में लिखी जाती है।

यह भी Redis और Memcached के बीच मुख्य अंतरों में से एक है, क्योंकि Memcached में कोई दृढ़ता क्षमता नहीं है।

Redis मेमोरी डेटा की दृढ़ता के लिए, Redis हमें निम्नलिखित विधियाँ प्रदान करता है:

  • स्नैपशॉट विधि (RDB, Redis DataBase): एक निश्चित समय पर मेमोरी डेटा को बाइनरी रूप में डिस्क पर लिखें;
  • केवल फ़ाइल संलग्न करें (एओएफ, केवल फ़ाइल संलग्न करें), सभी ऑपरेशन कमांड रिकॉर्ड करें, और टेक्स्ट फॉर्म में फ़ाइल में संलग्न करें;
  • हाइब्रिड दृढ़ता, रेडिस 4.0 के बाद एक नई विधि, हाइब्रिड दृढ़ता RDB और AOF के लाभों को जोड़ती है।लिखते समय, पहले RDB के रूप में फ़ाइल की शुरुआत में वर्तमान डेटा लिखें, और फिर बाद के ऑपरेशन कमांड को AOF के रूप में फ़ाइल में सहेजें, जो न केवल Redis पुनरारंभ की गति सुनिश्चित कर सकता है, बल्कि कम भी कर सकता है डेटा हानि का जोखिम।

क्योंकि प्रत्येक दृढ़ता योजना में विशिष्ट उपयोग परिदृश्य होते हैं।

रेडिस आरडीबी मेमोरी डेटा दृढ़ता ऑपरेशन मोड

  • RDB (Redis DataBase) बाइनरी रूप में डिस्क पर एक निश्चित क्षण में मेमोरी स्नैपशॉट (स्नैपशॉट) लिखने की प्रक्रिया है।
  • मेमोरी स्नैपशॉट वही हैं जो हमने ऊपर कहा था।यह एक निश्चित क्षण में स्मृति में डेटा के राज्य रिकॉर्ड को संदर्भित करता है।
  • यह फ़ोटो लेने के समान है। जब आप किसी मित्र का फ़ोटो लेते हैं, तो फ़ोटो तुरंत मित्र की सभी छवियों को रिकॉर्ड कर सकता है।
  • RDB को ट्रिगर करने के दो तरीके हैं: एक मैनुअल ट्रिगरिंग है, और दूसरा ऑटोमैटिक ट्रिगरिंग है।

RDB को मैन्युअल रूप से ट्रिगर करें

दृढ़ता को मैन्युअल रूप से ट्रिगर करने के लिए दो ऑपरेशन हैं:savebgsave.

उनके बीच मुख्य अंतर यह है कि रेडिस मुख्य धागे के निष्पादन को अवरुद्ध करना है या नहीं।

1. कमांड सेव करें

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

127.0.0.1:6379> save
OK
127.0.0.1:6379>

कमांड को निष्पादित करने की प्रक्रिया को चित्र में दिखाया गया है 

2. bgsave कमांड

  • bgsave (बैकग्राउंड सेव) एक बैकग्राउंड सेव है।
  • इसके और सेव कमांड के बीच सबसे बड़ा अंतर यह है कि bgsave लगातार प्रदर्शन करने के लिए चाइल्ड प्रोसेस को फोर्क करेगा।
  • पूरी प्रक्रिया तभी होती है जब बच्चे की प्रक्रिया कांटा हो।केवल एक संक्षिप्त रुकावट है।
  • चाइल्ड प्रोसेस बनने के बाद, रेडिस की मुख्य प्रक्रिया अन्य क्लाइंट के अनुरोधों का जवाब दे सकती है।

पूरी प्रक्रिया को अवरुद्ध करने के साथsaveकमांड की तुलना मेंbgsaveकमांड स्पष्ट रूप से हमारे उपयोग के लिए अधिक उपयुक्त है।

127.0.0.1:6379> bgsave
Background Saving started # 提示开始后台保存 
127.0.0.1:6379>

RDB को स्वचालित रूप से ट्रिगर करें

मैन्युअल ट्रिगरिंग के बारे में बात करने के बाद, आइए स्वचालित ट्रिगरिंग को देखें।हम कॉन्फ़िगरेशन फ़ाइल में स्वचालित ट्रिगरिंग के लिए शर्तों को कॉन्फ़िगर कर सकते हैं।

1. एमएन बचाओ

  • सेव mn का अर्थ है कि m सेकंड के भीतर, यदि n कुंजियाँ बदलती हैं, तो हठ स्वचालित रूप से चालू हो जाता है।पैरामीटर m और n को Redis कॉन्फ़िगरेशन फ़ाइल में पाया जा सकता है।
  • उदाहरण के लिए, 60 1 को बचाने का मतलब है कि 60 सेकंड के भीतर, जब तक एक कुंजी बदल जाती है, आरडीबी दृढ़ता चालू हो जाएगी।
  • स्वचालित रूप से ट्रिगर दृढ़ता का सार यह है कि यदि सेट ट्रिगर की शर्तें पूरी होती हैं, तो Redis स्वचालित रूप से एक बार bgsave कमांड को निष्पादित करेगा।

नोट: जब एकाधिक सेव एमएन कमांड सेट होते हैं, तो कोई भी एक शर्त दृढ़ता को ट्रिगर करेगी।

उदाहरण के लिए, हम निम्नलिखित दो सेव mn कमांड सेट करते हैं:

save 60 10
save 600 20
  • जब रेडिस कुंजी मान 60 के दशक में 10 बार बदलता है, तो दृढ़ता शुरू हो जाएगी;
  • यदि 60 के दशक के भीतर रेडिस कुंजी बदल जाती है, और यदि मान 10 बार से कम बदलता है, तो रेडिस यह निर्धारित करेगा कि क्या रेडिस कुंजी को 600 के भीतर कम से कम 20 बार संशोधित किया गया है, और यदि ऐसा है, तो दृढ़ता को ट्रिगर करें।

2. फ्लशहॉल

  • फ्लशॉल कमांड का उपयोग रेडिस डेटाबेस को फ्लश करने के लिए किया जाता है।
  • इसका उपयोग उत्पादन वातावरण में सावधानी के साथ किया जाना चाहिए।
  • जब रेडिस फ्लशॉल कमांड निष्पादित करता है, तो यह स्वचालित दृढ़ता को ट्रिगर करता है और आरडीबी फ़ाइल को साफ़ करता है।

3. मास्टर-गुलाम तुल्यकालन ट्रिगर

रेडिस मास्टर-स्लेव प्रतिकृति में, जब दास नोड एक पूर्ण प्रतिकृति ऑपरेशन करता है, तो मास्टर नोड आरडीबी फ़ाइल को दास नोड में भेजने के लिए bgsave कमांड निष्पादित करेगा। यह प्रक्रिया स्वचालित रूप से रेडिस दृढ़ता को ट्रिगर करती है।

रेडिस कमांड के माध्यम से वर्तमान कॉन्फ़िगरेशन मापदंडों को क्वेरी कर सकता है।

क्वेरी कमांड का प्रारूप है:config get xxx

उदाहरण के लिए, यदि आप किसी RDB फ़ाइल की संग्रहण नाम सेटिंग प्राप्त करना चाहते हैं, तो आप इसका उपयोग कर सकते हैं config get dbfilename .

निष्पादन प्रभाव इस प्रकार है:

127.0.0.1:6379> config get dbfilename
1) "dbfilename"
2) "dump.rdb"

चूंकि रेडिस सर्वर आरडीबी फाइल को लोड करते समय तब तक ब्लॉक रहेगा जब तक कि लोडिंग पूरी नहीं हो जाती है, यह एक लंबा समय ले सकता है और वेबसाइट तक नहीं पहुंचा जा सकता है।

यदि आप मैन्युअल रूप से RDB कैश फ़ाइल को हटाना चाहते हैं।

find / -name dump.rdb
  • फिर, SSH के माध्यम से डंप.rdb कैश फ़ाइल को मैन्युअल रूप से हटा दें।

Redis RDB का कॉन्फ़िगरेशन सेट करता है

RDB के कॉन्फ़िगरेशन को सेट करने के संबंध में, आप निम्नलिखित दो तरीकों का उपयोग कर सकते हैं:

  1. रेडिस कॉन्फ़िगरेशन फ़ाइल को मैन्युअल रूप से संशोधित करें
  2. कमांड लाइन सेटिंग्स का उपयोग करें, आरडीबी फाइल को संशोधित करने के लिए कॉन्फिग सेट डायर "/ usr/डेटा" स्टोरेज कमांड है

नोट: redis.conf में कॉन्फ़िगरेशन प्राप्त xxx के माध्यम से प्राप्त किया जा सकता है और कॉन्फ़िगरेशन सेट xxx मान के माध्यम से संशोधित किया जा सकता है, और Redis कॉन्फ़िगरेशन फ़ाइल को मैन्युअल रूप से संशोधित करने की विधि विश्व स्तर पर प्रभावी है, अर्थात, Redis सर्वर को पुनरारंभ करके सेट किए गए पैरामीटर नहीं होंगे खो जाएगा, लेकिन कमांड का उपयोग करके संशोधित किया जाएगा, यह रेडिस के पुनरारंभ होने के बाद खो जाएगा।

हालाँकि, यदि आप तुरंत प्रभावी होने के लिए Redis कॉन्फ़िगरेशन फ़ाइल को मैन्युअल रूप से संशोधित करना चाहते हैं, तो आपको Redis सर्वर को पुनरारंभ करने की आवश्यकता है, और कमांड विधि को Redis सर्वर को पुनरारंभ करने की आवश्यकता नहीं है।

RDB फ़ाइल पुनर्प्राप्ति

जब Redis सर्वर प्रारंभ होता है, यदि RDB फ़ाइल डंप.rdb Redis रूट निर्देशिका में मौजूद है, तो Redis लगातार डेटा को पुनर्स्थापित करने के लिए RDB फ़ाइल को स्वचालित रूप से लोड करेगा।

अगर रूट डायरेक्टरी में कोई डंप.आरडीबी फाइल नहीं है, तो कृपया डंप.आरडीबी फाइल को पहले रेडिस की रूट डायरेक्टरी में ले जाएं।

बेशक, जब रेडिस शुरू होता है, तो लॉग जानकारी होती है, जो दिखाएगा कि आरडीबी फ़ाइल लोड है या नहीं।

RDB फ़ाइल लोड करते समय Redis सर्वर तब तक ब्लॉक रहता है जब तक कि लोडिंग पूरी नहीं हो जाती।

अब हम जानते हैं कि RDB दृढ़ता दो तरह से विभाजित है: मैन्युअल ट्रिगरिंग और स्वचालित ट्रिगरिंग:

  1. इसका फायदा यह है कि रेडिस शुरू होने पर स्टोरेज फाइल छोटी होती है और डेटा रिकवरी तेज होती है।
  2. नकारात्मक पक्ष यह है कि डेटा हानि का जोखिम है।

RDB फ़ाइलों की पुनर्प्राप्ति भी बहुत सरल है। बस RDB फ़ाइलों को Redis की रूट डायरेक्टरी में रखें, और Redis शुरू होने पर डेटा को स्वचालित रूप से लोड और पुनर्स्थापित करेगा।

आरडीबी पेशेवरों और विपक्ष

1) आरडीबी फायदे

RDB की सामग्री बाइनरी डेटा है, जो कम मेमोरी घेरती है, अधिक कॉम्पैक्ट है, और बैकअप फ़ाइल के रूप में अधिक उपयुक्त है;

आपदा पुनर्प्राप्ति के लिए RDB बहुत उपयोगी है, यह एक संपीड़ित फ़ाइल है जिसे Redis सेवा पुनर्प्राप्ति के लिए किसी दूरस्थ सर्वर पर तेज़ी से स्थानांतरित किया जा सकता है;

RDB Redis की गति में बहुत सुधार कर सकता है, क्योंकि मुख्य Redis प्रक्रिया डिस्क पर डेटा को बनाए रखने के लिए चाइल्ड प्रोसेस को फोर्क करेगी।

रेडिस मुख्य प्रक्रिया डिस्क I/O जैसे संचालन नहीं करती है;

एओएफ प्रारूप फाइलों की तुलना में, आरडीबी फाइलें तेजी से पुनरारंभ होती हैं।

2) आरडीबी के नुकसान

क्योंकि RDB केवल एक निश्चित समय अंतराल पर डेटा सहेज सकता है, यदि Redis सेवा गलती से बीच में समाप्त हो जाती है, तो Redis डेटा कुछ समय के लिए खो जाएगा;

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

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

बेशक, हम रेडिस की निष्पादन दक्षता में सुधार करने के लिए दृढ़ता को भी अक्षम कर सकते हैं।

यदि आप डेटा हानि के प्रति संवेदनशील नहीं हैं, तो क्लाइंट कनेक्ट होने पर आप ऐसा कर सकते हैं config set save "" रेडिस के लिए दृढ़ता को अक्षम करने का आदेश।

redis.conf, मैं फ़िनsaveशुरुआत में सभी कॉन्फ़िगरेशन पर टिप्पणी करें, और दृढ़ता भी अक्षम हो जाएगी, लेकिन आमतौर पर ऐसा नहीं किया जाता है।

होप चेन वेइलियांग ब्लॉग ( https://www.chenweiliang.com/ ) साझा "Redis RDB का पूरा नाम क्या है? Redis RDB इन-मेमोरी डेटा पर्सिस्टेंस ऑपरेशन मोड", आपकी मदद करेगा।

इस लेख का लिंक साझा करने के लिए आपका स्वागत है:https://www.chenweiliang.com/cwl-26677.html

नवीनतम अपडेट प्राप्त करने के लिए चेन वेइलियांग के ब्लॉग के टेलीग्राम चैनल में आपका स्वागत है!

🔔 चैनल शीर्ष निर्देशिका में मूल्यवान "चैटजीपीटी कंटेंट मार्केटिंग एआई टूल उपयोग गाइड" प्राप्त करने वाले पहले व्यक्ति बनें! 🌟
📚 इस गाइड में बहुत महत्व है, 🌟यह एक दुर्लभ अवसर है, इसे न चूकें! ⏰⌛💨
अच्छा लगे तो शेयर और लाइक करें!
आपका साझा करना और पसंद करना हमारी निरंतर प्रेरणा है!

 

发表 评论

आपकी ईमेल आईडी प्रकाशित नहीं की जाएगी। आवश्यक फ़ील्ड का उपयोग किया जाता है * लेबल

शीर्ष तक स्क्रॉल करें