مقالې لارښود
د RDB بشپړ نوم دیRedis database
.
- لکه څنګه چې نوم وړاندیز کوي، RDB د Redis ډیټابیس دی چې د معلوماتو ذخیره کولو لپاره کارول کیږي.
- له همدې امله، د RDB دوام له لارې، د Redis په حافظه کې زیرمه شوي ډاټا د RDB فایل ته لیکل کیږي او ډیسک ته خوندي کیږي ترڅو دوام ومومي.
- د ریډیس ځانګړتیا دا ده چې دا کولی شي ډیټا ته دوام ورکړي ، دا دی چې ډیسک ته په حافظه کې ډیټا ولیکي ترڅو ډاډ ترلاسه شي چې هیڅ ډیټا له لاسه نه ورکوي ، او کولی شي ډیسک څخه حافظې ته ډیټا پورته کړي.
په پیل کې د ریډیس عملیات ټول د حافظې پراساس دي ، نو فعالیت خورا لوړ دی ، مګر یوځل چې برنامه بنده شي ، ډاټا له لاسه ورکوي.
له همدې امله، موږ اړتیا لرو چې د حافظې دننه ډیټا په مشخصو وقفو کې ډیسک ته ولیکو، کوم چې په جرګون کې سنیپ شاټ دی.
کله چې بیا رغول کیږي، د سنیپ شاټ فایل مستقیم حافظې ته لیکل کیږي.
دا د Redis او Memcached ترمنځ یو له اصلي توپیرونو څخه هم دی، ځکه چې Memcached د دوام وړتیا نلري.
د ریډیس حافظې ډیټا دوام لپاره ، ریډیس موږ ته لاندې میتودونه چمتو کوي:
- د سنیپ شاټ طریقه (RDB، Redis Database): په یوه ټاکلې شیبه کې د بائنری بڼه ډیسک ته د حافظې ډاټا ولیکئ؛
- یوازې فایل ضمیمه کړئ (AOF، یوازې فایل ضمیمه کړئ)، د عملیاتو ټول حکمونه ثبت کړئ، او د متن په بڼه فایل ته ضمیمه کړئ؛
- هایبرډ استقامت، د Redis 4.0 وروسته یو نوی میتود، هایبرډ دوام د RDB او AOF ګټې سره یوځای کوي.کله چې لیکل کیږي، لومړی اوسنی ډاټا د RDB په بڼه د فایل په پیل کې ولیکئ، او بیا وروسته د عملیاتو کمانډونه د AOF په بڼه فایل ته خوندي کړئ، کوم چې نه یوازې د ریډیس بیا پیل کولو سرعت ډاډمن کولی شي، بلکې کموي. د معلوماتو له لاسه ورکولو خطر
ځکه چې هر دوام سکیم د کارونې ځانګړي سناریوګانې لري.
د Redis RDB حافظې ډیټا د دوام عملیات حالت
- RDB (ریډیس ډیټابیس) د حافظې سنیپ شاټ (سنیپ شاټ) لیکلو پروسه ده چې په یوه ټاکلې شیبه کې ډیسک ته په بائنری شکل کې لیږدول کیږي.
- د حافظې عکسونه هغه څه دي چې موږ پورته وویل.دا په یوه ټاکلې شیبه کې په حافظه کې د معلوماتو دولتي ریکارډ ته اشاره کوي.
- دا د عکس اخیستلو سره ورته دی، کله چې تاسو د یو ملګري عکس اخلئ، یو عکس کولی شي سمدستي د ملګري ټول انځورونه ثبت کړي.
- د RDB محرک کولو لپاره دوه لارې شتون لري: یو یې لاسي محرک دی، او بل یې اتوماتیک محرک دی.
په لاسي ډول RDB چالان کړئ
په لاسي ډول د دوام لپاره دوه عملیات شتون لري:save
和bgsave
.
د دوی تر مینځ اصلي توپیر دا دی چې ایا د ریډیس اصلي تار اجرا کول بند کړي یا نه.
1. کمانډ خوندي کړئ
د پیرودونکي اړخ کې د خوندي کولو کمانډ اجرا کول به د ریډیس دوام رامینځته کړي ، مګر دا به ریډیس په بلاک کولو حالت کې هم رامینځته کړي. دا به د نورو پیرودونکو لخوا لیږل شوي امرونو ته ځواب ونه وايي تر هغه چې RDB دوام ومومي ، نو دا باید په احتیاط سره وکارول شي. د تولید چاپیریال.
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 خوندي کړئ
- د mn خوندي کول پدې معنی دي چې په m ثانیو کې ، که د n کیلي بدل شي ، دوام په اوتومات ډول پیل کیږي.پیرامیټونه m او n د Redis ترتیب کولو فایل کې موندل کیدی شي.
- د مثال په توګه، د 60 1 خوندي کول پدې مانا ده چې په 60 ثانیو کې، تر هغه چې یو کلیدي بدلون ومومي، د RDB دوام به پیل شي.
- په اتوماتيک ډول د دوام پیدا کولو جوهر دا دی چې که د تنظیم شوي محرک شرایط پوره شي، ریډیس به په اتوماتيک ډول د bgsave کمانډ یوځل اجرا کړي.
یادونه: کله چې ډیری سیف mn کمانډونه تنظیم شي ، هر یو حالت به دوام رامینځته کړي.
د مثال په توګه، موږ لاندې دوه سیف mn کمانډونه تنظیم کړل:
save 60 10 save 600 20
- کله چې د Redis کلیدي ارزښت په 60s کې 10 ځله بدل شي، دوام به پیل شي.
- که چیرې د Redis کیلي په 60s کې بدلون ومومي، او که ارزښت له 10 څخه کم وخت بدل شي، Redis به معلومه کړي چې آیا د Redis کلید لږترلږه 600 ځله په 20s کې تعدیل شوی، او که داسې وي، دوام پیدا کوي.
2. فلشول
- د فلش کمانډ د ریډیس ډیټابیس فلش کولو لپاره کارول کیږي.
- دا باید د تولید چاپیریال کې د احتیاط سره وکارول شي.
- کله چې ریډیس د فلش کمانډ اجرا کوي، دا اتوماتیک دوام هڅوي او د RDB فایلونه پاکوي.
3. د ماسټر غلام همغږي محرک
د Redis master-slave په نقل کې، کله چې د غلام نوډ د بشپړ نقل کولو عملیات ترسره کوي، ماسټر نوډ به د bgsave کمانډ اجرا کړي ترڅو د RDB فایل غلام نوډ ته واستوي. دا پروسه په اتوماتيک ډول د Redis دوام هڅوي.
ریډیس کولی شي د کمانډونو له لارې د اوسني ترتیب کولو پیرامیټونو پوښتنه وکړي.
د پوښتنې کمانډ بڼه دا ده:config get xxx
د مثال په توګه ، که تاسو غواړئ د RDB فایل ذخیره کولو نوم ترتیب ترلاسه کړئ ، تاسو یې کارولی شئ config get dbfilename
.
د اعدام اغیزه په لاندې ډول ده:
127.0.0.1:6379> config get dbfilename 1) "dbfilename" 2) "dump.rdb"
څرنګه چې د ریډیس سرور به د RDB فایل پورته کولو په وخت کې بند کړي تر هغه چې بار بشپړ نشي، دا ممکن د اوږدې مودې لامل شي او ویب پاڼې ته لاسرسی نشي کولی.
که تاسو غواړئ د Redis د RDB کیچ فایل په لاسي ډول حذف کړئ dump.rdb، تاسو کولی شئ د dump.rdb فایل ذخیره کولو لاره موندلو لپاره لاندې کمانډ وکاروئ▼
find / -name dump.rdb
- بیا، په لاسي ډول د SSH له لارې د dump.rdb کیچ فایل حذف کړئ.
ریډیس د RDB ترتیب تنظیموي
د RDB ترتیب کولو په اړه، تاسو کولی شئ لاندې دوه لارې وکاروئ:
- په لاسي ډول د Redis ترتیب کولو فایل بدل کړئ
- د کمانډ لاین ترتیبات وکاروئ ، د RDB فایل بدلولو لپاره د ذخیره کولو کمانډ ترتیب کړئ dir "/usr/data"
یادونه: په redis.conf کې تشکیلات د config get xxx له لارې ترلاسه کیدی شي او د config set xxx ارزښت له لارې تعدیل کیدی شي ، او د Redis ترتیب فایل په لاسي ډول د ترمیم کولو طریقه په نړیواله کچه مؤثره ده ، دا د Redis سرور بیا پیل کولو سره ټاکل شوي پیرامیټونه به نه وي. ورک شي، مګر د کمانډ په کارولو سره تعدیل شوی، دا به د ریډیس بیا پیل کولو وروسته ورک شي.
په هرصورت، که تاسو غواړئ په لاسي ډول د Redis ترتیب کولو فایل سمدلاسه اغیزمن شي، تاسو اړتیا لرئ چې د Redis سرور بیا پیل کړئ، او د قوماندې طریقه د Redis سرور بیا پیلولو ته اړتیا نلري.
د RDB دوتنې بیا رغونه
کله چې د Redis سرور پیل شي، که چیرې د RDB فایل dump.rdb د Redis روټ ډایرکټر کې شتون ولري، Redis به په اوتومات ډول د RDB فایل د دوامداره معلوماتو بیرته راګرځولو لپاره پورته کړي.
که چیرې په روټ ډایرکټر کې د dump.rdb فایل شتون ونلري، مهرباني وکړئ د dump.rdb فایل لومړی د Redis روټ ډایرکټر ته ولیږئ.
البته، د لاګ معلومات شتون لري کله چې ریډیس پیل شي، کوم چې به وښيي چې ایا د RDB فایل پورته شوی که نه.
د ریډیس سرور د RDB فایل پورته کولو پرمهال بلاک کوي تر هغه چې بار کول بشپړ شي.
اوس موږ پوهیږو چې د RDB دوام په دوه لارو ویشل شوی: لاسي محرک او اتوماتیک محرک:
- د دې ګټه دا ده چې د ذخیره کولو فایل کوچنی دی او د ډیټا بیا رغونه ګړندۍ ده کله چې ریډیس پیل شي.
- منفي اړخ دا دی چې د معلوماتو له لاسه ورکولو خطر شتون لري.
د RDB فایلونو رغونه هم خورا ساده ده. یوازې د RDB فایلونه د Redis په روټ ډایرکټر کې واچوئ، او Redis به په اتوماتيک ډول ډاټا بار کړي او بیا یې بیرته راولي کله چې دا پیل شي.
د RDB ګټې او زیانونه
1) د RDB ګټې
د RDB مینځپانګه بائنری ډیټا ده ، کوم چې لږ حافظه نیسي ، ډیر کمپیکٹ دی ، او د بیک اپ فایل په توګه خورا مناسب دی؛
RDB د ناورین د بیا رغونې لپاره خورا ګټور دی، دا یو کمپریس شوی فایل دی چې د ریډیس خدماتو بیا رغونې لپاره په چټکۍ سره ریموټ سرور ته لیږدول کیدی شي؛
RDB کولی شي د ریډیس سرعت خورا ښه کړي، ځکه چې د ریډیس اصلي پروسه به د ماشوم پروسې ته مخه کړي ترڅو ډیسک ته ډاټا دوام ورکړي.
د Redis اصلي پروسه عملیات نه ترسره کوي لکه ډیسک I/O؛
د AOF فارمیټ فایلونو سره پرتله کول، د RDB فایلونه ګړندي بیا پیل کیږي.
2) د RDB زیانونه
ځکه چې RDB کولی شي یوازې په یو ټاکلي وخت وقفه کې ډاټا خوندي کړي، که چیرې د ریډیس خدمت په تصادفي توګه په مینځ کې وتړل شي، د ریډیس ډاټا به د یوې مودې لپاره ورک شي؛
یوه پروسه چې په کې RDB پرله پسې فورکس ته اړتیا لري ترڅو دا د سبینټري په کارولو سره په ډیسک کې خوندي کړي.
که ډیټاسیټ لوی وي ، فورک کولی شي وخت مصرف کړي ، او که ډیټاسیټ لوی وي ، د CPU فعالیت ضعیف دی ، کوم چې کولی شي ریډیس د دې لامل شي چې د څو ملی ثانیو یا حتی یوې ثانیې لپاره پیرودونکو ته خدمت ونه کړي.
البته، موږ کولی شو د ریډیس اجرا کولو موثریت ته وده ورکولو لپاره دوام هم غیر فعال کړو.
که تاسو د معلوماتو له لاسه ورکولو سره حساس نه یاست، نو تاسو کولی شئ دا کار وکړئ کله چې پیرودونکي وصل شي config set save ""
د ریډیس لپاره د دوام غیر فعالولو امر.
پهredis.conf
، که په کېsave
په پیل کې ټول تشکیلات تبصره کړئ، او دوام به هم غیر فعال شي، مګر دا عموما نه ترسره کیږي.
امید چن وییلینګ بلاګ ( https://www.chenweiliang.com/ ) شریک شوی "د ریډیس RDB بشپړ نوم څه دی؟ د ریډیس RDB د حافظې ډیټا دوامدار عملیات حالت" به تاسو سره مرسته وکړي.
د دې مقالې لینک شریکولو ته ښه راغلاست:https://www.chenweiliang.com/cwl-26677.html
د وروستي تازه معلوماتو ترلاسه کولو لپاره د چن ویلیانګ بلاګ ټیلیګرام چینل ته ښه راغلاست!
📚 دا لارښود لوی ارزښت لري، 🌟دا یو نادر فرصت دی، له لاسه مه ورکوئ! ⏰⌛💨
که مو خوښه شوه لایک او شریک کړئ!
ستاسو شریکول او خوښول زموږ دوامداره هڅونه ده!