Redis RDB کا پورا نام کیا ہے؟ Redis RDB میموری ڈیٹا پرسسٹینس آپریشن موڈ

RDB کا پورا نام ہے۔Redis databaseہے.

  • جیسا کہ نام سے پتہ چلتا ہے، RDB ایک Redis ڈیٹا بیس ہے جو ڈیٹا کو ذخیرہ کرنے کے لیے استعمال ہوتا ہے۔
  • لہذا، RDB استقامت کے ذریعے، Redis میموری میں ذخیرہ کردہ ڈیٹا کو RDB فائل میں لکھا جاتا ہے اور استقامت حاصل کرنے کے لیے ڈسک میں محفوظ کیا جاتا ہے۔
  • Redis کی خصوصیت یہ ہے کہ یہ ڈیٹا کو برقرار رکھ سکتا ہے، یعنی ڈیٹا کو میموری میں لکھ کر ڈسک میں اس بات کو یقینی بناتا ہے کہ کوئی ڈیٹا ضائع نہ ہو، اور ڈسک سے ڈیٹا کو میموری میں لوڈ بھی کر سکتا ہے۔

Redis RDB کا پورا نام کیا ہے؟ Redis RDB میموری ڈیٹا پرسسٹینس آپریشن موڈ

ریڈیس کے شروع میں ہونے والے تمام آپریشنز میموری پر مبنی ہوتے ہیں، اس لیے کارکردگی بہت زیادہ ہوتی ہے، لیکن ایک بار پروگرام بند ہونے کے بعد ڈیٹا ضائع ہو جاتا ہے۔

لہذا، ہمیں ان میموری ڈیٹا کو مخصوص وقفوں پر ڈسک پر لکھنے کی ضرورت ہے، جو اسنیپ شاٹ جرگن میں ہے۔

بحال کرتے وقت، سنیپ شاٹ فائل براہ راست میموری پر لکھی جاتی ہے۔

یہ بھی Redis اور Memcached کے درمیان ایک اہم فرق ہے، کیونکہ Memcached میں مستقل رہنے کی صلاحیت نہیں ہے۔

Redis میموری ڈیٹا کو برقرار رکھنے کے لیے Redis ہمیں درج ذیل طریقے فراہم کرتا ہے:

  • اسنیپ شاٹ کا طریقہ (RDB، Redis DataBase): ایک خاص لمحے پر بائنری شکل میں میموری ڈیٹا کو ڈسک پر لکھیں۔
  • صرف فائل کو شامل کریں (AOF، صرف فائل کو شامل کریں)، تمام آپریشن کمانڈز کو ریکارڈ کریں، اور ٹیکسٹ فارم میں فائل میں شامل کریں؛
  • ہائبرڈ استقامت، Redis 4.0 کے بعد ایک نیا طریقہ، ہائبرڈ استقامت RDB اور AOF کے فوائد کو یکجا کرتی ہے۔لکھتے وقت، پہلے موجودہ ڈیٹا کو فائل کے شروع میں RDB کی شکل میں لکھیں، اور پھر بعد میں آنے والے آپریشن کمانڈز کو AOF کی شکل میں فائل میں محفوظ کریں، جس سے نہ صرف Redis کے دوبارہ شروع ہونے کی رفتار کو یقینی بنایا جا سکتا ہے، بلکہ اسے کم بھی کیا جا سکتا ہے۔ ڈیٹا ضائع ہونے کا خطرہ

کیونکہ ہر استقامت کی اسکیم میں استعمال کے مخصوص منظرنامے ہوتے ہیں۔

Redis RDB میموری ڈیٹا پرسسٹینس آپریشن موڈ

  • RDB (Redis DataBase) بائنری شکل میں ڈسک پر ایک خاص لمحے پر میموری اسنیپ شاٹ (Snapshot) لکھنے کا عمل ہے۔
  • میموری سنیپ شاٹس وہی ہیں جو ہم نے اوپر کہا ہے۔یہ ایک خاص لمحے میں میموری میں ڈیٹا کے اسٹیٹ ریکارڈ سے مراد ہے۔
  • یہ تصویر لینے کے مترادف ہے۔ جب آپ کسی دوست کی تصویر لیتے ہیں، تو تصویر فوری طور پر دوست کی تمام تصاویر کو ریکارڈ کر سکتی ہے۔
  • RDB کو متحرک کرنے کے دو طریقے ہیں: ایک دستی ٹرگرنگ، اور دوسرا خودکار ٹرگرنگ۔

RDB کو دستی طور پر متحرک کریں۔

دستی طور پر استقامت کو متحرک کرنے کے لیے دو آپریشن ہیں:savebgsaveہے.

ان کے درمیان بنیادی فرق یہ ہے کہ ریڈیس مین تھریڈ پر عمل درآمد کو روکنا ہے یا نہیں۔

1. کمانڈ محفوظ کریں۔

کلائنٹ سائیڈ پر سیو کمانڈ پر عمل درآمد Redis کی استقامت کو متحرک کر دے گا، لیکن یہ Redis کو بلاک کرنے والی حالت میں بھی بنا دے گا۔ یہ دوسرے کلائنٹس کے بھیجے گئے کمانڈز کا جواب نہیں دے گا جب تک کہ RDB برقرار نہ رہے، اس لیے اسے احتیاط کے ساتھ استعمال کرنا چاہیے۔ پیداوار کے ماحول.

127.0.0.1:6379> save
OK
127.0.0.1:6379>

کمانڈ پر عمل درآمد کا عمل تصویر میں دکھایا گیا ہے۔ 

2. bgsave کمانڈ

  • bgsave (بیک گراؤنڈ سیو) ایک بیک گراؤنڈ سیو ہے۔
  • اس کے اور سیو کمانڈ کے درمیان سب سے بڑا فرق یہ ہے کہ bgsave استقامت کو انجام دینے کے لیے چائلڈ پروسیس کو فورک کرے گا۔
  • سارا عمل صرف اس وقت ہوتا ہے جب بچے کا عمل کانٹا ہو۔صرف ایک مختصر رکاوٹ ہے۔
  • چائلڈ پروسیس بننے کے بعد، Redis کا مرکزی عمل دوسرے کلائنٹس کی درخواستوں کا جواب دے سکتا ہے۔

پورے عمل کو روکنے کے ساتھsaveکمانڈ کے مقابلے میںbgsaveکمانڈ واضح طور پر ہمارے استعمال کے لیے زیادہ موزوں ہے۔

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

خودکار طور پر RDB کو متحرک کریں۔

دستی ٹرگرنگ کے بارے میں بات کرنے کے بعد، آئیے خودکار ٹرگرنگ کو دیکھتے ہیں۔ہم کنفیگریشن فائل میں خودکار ٹرگرنگ کی شرائط کو ترتیب دے سکتے ہیں۔

1. ملین بچائیں۔

  • save mn کا مطلب ہے کہ m سیکنڈ کے اندر، اگر n کیز بدل جاتی ہے تو استقامت خود بخود متحرک ہوجاتی ہے۔پیرامیٹرز m اور n Redis کنفیگریشن فائل میں مل سکتے ہیں۔
  • مثال کے طور پر، 60 1 محفوظ کرنے کا مطلب ہے کہ 60 سیکنڈ کے اندر، جب تک ایک کلیدی تبدیلی آتی ہے، RDB استقامت کو متحرک کیا جائے گا۔
  • خود بخود متحرک ہونے کا نچوڑ یہ ہے کہ اگر سیٹ ٹرگر کی شرائط پوری ہوجاتی ہیں تو Redis خود بخود bgsave کمانڈ کو ایک بار انجام دے گا۔

نوٹ: جب ایک سے زیادہ save mn کمانڈ سیٹ ہوتے ہیں، تو کوئی بھی ایک شرط استقامت کو متحرک کرے گی۔

مثال کے طور پر، ہم نے مندرجہ ذیل دو save mn کمانڈ سیٹ کی ہیں۔

save 60 10
save 600 20
  • جب Redis کلیدی قدر 60s کے اندر 10 بار تبدیل ہوتی ہے، تو استقامت کو متحرک کیا جائے گا۔
  • اگر Redis کلید 60s کے اندر تبدیل ہوتی ہے، اور اگر قدر 10 بار سے کم تبدیل ہوتی ہے، تو Redis اس بات کا تعین کرے گا کہ Redis کلید کو 600s کے اندر کم از کم 20 بار تبدیل کیا گیا ہے، اور اگر ایسا ہے تو، استقامت کو متحرک کریں۔

2. فلشال

  • flushall کمانڈ کا استعمال Redis ڈیٹا بیس کو فلش کرنے کے لیے کیا جاتا ہے۔
  • اسے پیداواری ماحول میں احتیاط کے ساتھ استعمال کیا جانا چاہیے۔
  • جب Redis flushall کمانڈ پر عمل کرتا ہے، تو یہ خودکار استقامت کو متحرک کرتا ہے اور RDB فائل کو صاف کرتا ہے۔

3. ماسٹر غلام کی مطابقت پذیری کا محرک

Redis master-slave کی نقل میں، جب غلام نوڈ مکمل نقل کا عمل انجام دیتا ہے، تو ماسٹر نوڈ RDB فائل کو غلام نوڈ میں بھیجنے کے لیے bgsave کمانڈ پر عمل درآمد کرے گا۔ یہ عمل خود بخود Redis استقامت کو متحرک کرتا ہے۔

Redis کمانڈز کے ذریعے موجودہ کنفیگریشن پیرامیٹرز سے استفسار کر سکتا ہے۔

استفسار کمانڈ کی شکل یہ ہے:config get xxx

مثال کے طور پر، اگر آپ RDB فائل کے لیے سٹوریج کے نام کی ترتیب حاصل کرنا چاہتے ہیں، تو آپ استعمال کر سکتے ہیں۔ config get dbfilename ہے.

عملدرآمد کا اثر مندرجہ ذیل ہے:

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

چونکہ لوڈنگ مکمل ہونے تک RDB فائل کو لوڈ کرتے وقت Redis سرور بلاک کر دے گا، اس لیے اس میں طویل وقت لگ سکتا ہے اور ویب سائٹ تک رسائی نہیں ہو سکتی۔

اگر آپ Redis کی RDB کیشے فائل dump.rdb کو دستی طور پر حذف کرنا چاہتے ہیں، تو آپ dump.rdb فائل کے اسٹوریج کا راستہ تلاش کرنے کے لیے درج ذیل کمانڈ کا استعمال کر سکتے ہیں▼

find / -name dump.rdb
  • پھر، SSH کے ذریعے dump.rdb کیشے فائل کو دستی طور پر حذف کریں۔

Redis RDB کی کنفیگریشن سیٹ کرتا ہے۔

RDB کی ترتیب کو ترتیب دینے کے بارے میں، آپ درج ذیل دو طریقے استعمال کر سکتے ہیں:

  1. Redis کنفیگریشن فائل میں دستی طور پر ترمیم کریں۔
  2. کمانڈ لائن سیٹنگز کا استعمال کریں، config set dir "/usr/data" RDB فائل میں ترمیم کرنے کے لیے اسٹوریج کمانڈ ہے۔

نوٹ: redis.conf میں کنفیگریشن config get xxx کے ذریعے حاصل کی جا سکتی ہے اور config set xxx ویلیو کے ذریعے ترمیم کی جا سکتی ہے، اور Redis کنفیگریشن فائل کو دستی طور پر تبدیل کرنے کا طریقہ عالمی سطح پر موثر ہے، یعنی Redis سرور کو دوبارہ شروع کرنے سے سیٹ کیے گئے پیرامیٹرز نہیں ہوں گے۔ کھو جائے گا، لیکن کمانڈ کا استعمال کرتے ہوئے اس میں ترمیم کی جائے گی، یہ Redis کے دوبارہ شروع ہونے کے بعد کھو جائے گی۔

تاہم، اگر آپ Redis کنفیگریشن فائل کو فوری طور پر نافذ کرنے کے لیے دستی طور پر ترمیم کرنا چاہتے ہیں، تو آپ کو Redis سرور کو دوبارہ شروع کرنے کی ضرورت ہے، اور کمانڈ کے طریقہ کار کے لیے Redis سرور کو دوبارہ شروع کرنے کی ضرورت نہیں ہے۔

RDB فائل ریکوری

جب Redis سرور شروع ہوتا ہے، اگر RDB فائل dump.rdb Redis روٹ ڈائریکٹری میں موجود ہے، Redis مستقل ڈیٹا کو بحال کرنے کے لیے RDB فائل کو خود بخود لوڈ کر دے گا۔

اگر روٹ ڈائرکٹری میں کوئی dump.rdb فائل نہیں ہے، تو براہ کرم dump.rdb فائل کو پہلے Redis کی روٹ ڈائرکٹری میں منتقل کریں۔

بلاشبہ، Redis شروع ہونے پر لاگ انفارمیشن موجود ہوتی ہے، جو ظاہر کرے گی کہ آیا RDB فائل لوڈ ہوئی ہے۔

لوڈنگ مکمل ہونے تک RDB فائل لوڈ کرتے وقت Redis سرور بلاک کر دیتا ہے۔

اب ہم جانتے ہیں کہ RDB استقامت کو دو طریقوں میں تقسیم کیا گیا ہے: دستی ٹرگرنگ اور آٹومیٹک ٹرگرنگ:

  1. اس کا فائدہ یہ ہے کہ سٹوریج فائل چھوٹی ہے اور جب Redis شروع کیا جاتا ہے تو ڈیٹا ریکوری تیز ہوتی ہے۔
  2. منفی پہلو یہ ہے کہ ڈیٹا ضائع ہونے کا خطرہ ہے۔

RDB فائلوں کی ریکوری بھی بہت آسان ہے۔ بس RDB فائل کو Redis کی روٹ ڈائرکٹری میں ڈال دیں، اور Redis شروع ہونے پر ڈیٹا خود بخود لوڈ اور بحال ہو جائے گا۔

RDB کے فوائد اور نقصانات

1) RDB فوائد

RDB مواد بائنری ڈیٹا ہے، کم میموری رکھتا ہے، زیادہ کمپیکٹ ہے، اور بیک اپ فائل کے طور پر زیادہ موزوں ہے۔

ڈیزاسٹر ریکوری کے لیے RDB بہت مفید ہے، یہ ایک کمپریسڈ فائل ہے جسے Redis سروس ریکوری کے لیے تیزی سے ریموٹ سرور پر منتقل کیا جا سکتا ہے۔

RDB Redis کی رفتار کو بہت بہتر بنا سکتا ہے، کیونکہ Redis کا مرکزی عمل ڈسک میں ڈیٹا کو برقرار رکھنے کے لیے چائلڈ پروسیس کو فورک کرے گا۔

Redis مین پروسیس ڈسک I/O جیسے آپریشن نہیں کرتا ہے۔

AOF فارمیٹ فائلوں کے مقابلے میں، RDB فائلیں تیزی سے دوبارہ شروع ہوتی ہیں۔

2) RDB کے نقصانات

کیونکہ RDB صرف ایک مخصوص وقت کے وقفے پر ڈیٹا محفوظ کر سکتا ہے، اگر Redis سروس اتفاقی طور پر درمیان میں ختم ہو جاتی ہے، Redis کا ڈیٹا ایک مدت کے لیے ضائع ہو جائے گا۔

ایک ایسا عمل جس میں RDB کو subentry کا استعمال کرتے ہوئے اسے ڈسک پر رکھنے کے لیے بار بار فورکس کی ضرورت ہوتی ہے۔

اگر ڈیٹاسیٹ بڑا ہے، تو فورک وقت طلب ہوسکتا ہے، اور اگر ڈیٹاسیٹ بڑا ہے، تو CPU کی کارکردگی خراب ہے، جس کی وجہ سے Redis چند ملی سیکنڈ یا ایک سیکنڈ تک کلائنٹس کی خدمت کرنے سے قاصر ہوسکتا ہے۔

بلاشبہ، ہم Redis کی کارکردگی کو بہتر بنانے کے لیے استقامت کو بھی غیر فعال کر سکتے ہیں۔

اگر آپ ڈیٹا کے نقصان کے بارے میں حساس نہیں ہیں، تو آپ یہ کام کلائنٹ کے منسلک ہونے پر کر سکتے ہیں۔ config set save "" Redis کے لیے استقامت کو غیر فعال کرنے کا حکم۔

میںredis.conf، اگر میںsaveشروع میں تمام کنفیگریشنز پر تبصرہ کریں، اور استقامت بھی غیر فعال ہو جائے گی، لیکن عام طور پر ایسا نہیں کیا جاتا ہے۔

ہوپ چن ویلیانگ بلاگ ( https://www.chenweiliang.com/ ) مشترکہ "ریڈیس آر ڈی بی کا پورا نام کیا ہے؟ Redis RDB ان-میموری ڈیٹا پرسسٹینس آپریشن موڈ، جو آپ کے لیے مددگار ہے۔

اس مضمون کا لنک شیئر کرنے میں خوش آمدید:https://www.chenweiliang.com/cwl-26677.html

تازہ ترین اپ ڈیٹس حاصل کرنے کے لیے چن ویلیانگ کے بلاگ کے ٹیلیگرام چینل میں خوش آمدید!

🔔 چینل ٹاپ ڈائرکٹری میں قیمتی "ChatGPT Content Marketing AI Tool Usage Guide" حاصل کرنے والے پہلے فرد بنیں! 🌟
📚 یہ گائیڈ بہت بڑی قیمت پر مشتمل ہے، 🌟یہ ایک نادر موقع ہے، اس سے محروم نہ ہوں! ⏰⌛💨
پسند آئے تو شیئر اور لائک کریں!
آپ کا اشتراک اور پسندیدگی ہماری مسلسل حوصلہ افزائی ہے!

 

评论 评论

آپ کا ای میل ایڈریس شائع نہیں کیا جائے گا۔ ضروری شعبوں کا استعمال کیا جاتا ہے * لیبل لگائیں

اوپر سکرول کریں