رفتن به نوشته‌ها

دسته: وب سرویس

آشنایی با مفاهیم اصلی Redis

redis معمولا با جمله ی in-memory key-value store شناخته می شود و معنی آن این است که redis یک پایگاه داده است که به جای هارد دیسک، روی مموری (RAM سیستم) سوار می شود و داده ها را به صورت جفت های  key-value ذخیره می کند، دقیقا مانند اشیاء در جاوا اسکریپت یا دیکشنری ها در پایتون. احتمالا شما نیز متوجه شده اید که ذخیره ی داده ها به صورت جفت های key-value به معنی عدم وجود schema است. در این سیستم key از نوع رشته و value از هر نوعی است که شما دوست داشته باشید؛ عدد، رشته، JSON و الی آخر. مسئله اینجاست که تقریبا تمام پایگاه های داده های مشهور مانند MySQL و MongoDB داده ها را در هارد دیسک ذخیره می کنند اما redis اطلاعات را در RAM سیستم شما ذخیره می کند که مشکلات خاص خودش را دارد اما مزیت هایی نیز دارد. چه مشکلاتی؟ اولا مموری سیستم محدود است (سرور شما نهایتا چند گیگابایت RAM دارد) بنابراین چطور می توانیم داده های پایگاه داده را روی آن ذخیره کنیم؟ دوما ما می دانیم که داده های RAM ثابت یا persistent نیست و با ریستارت شدن سیستم/سرور تمام داده های آن حذف می شود!