Redis مخفف Remote Dictionary Service یک ذخیره ساز ساختار داده های حافظه است که از آن به عنوان پایگاه داده ، cache و … استفاده می شود. در این مقاله قصد داریم شما را با امکانات و کاربرد های Redis بیشتر آشنا کنیم، همراه داتیس نتورک باشید.
Redis چیست؟
ردیس مخفف Remote Dictionary Service یک ذخیره ساز ساختار داده های حافظه است که از آن به عنوان پایگاه داده ، cache و … استفاده می شود.
ردیس یک بانک اطلاعاتی NoSql کلید/مقدار (key/value) است که بصورت Open Source و تحت لیسانس BSD منتشر می شود.
Redis بانک اطلاعاتی مقیم در حافظه (in-memory data structure store) است که این مهم موجب سرعت و کارایی فوق العاده پاسخدهی شده است.
این پایگاه داده میتواند هم در حافظه اصلی و هم در حافظه جانبی ذخیره شود.
تاریخچه ردیس
ردیس در ابتدا توسط یک توسعه دهنده ایتالیایی به نام Salvatore Sanfilippo ایجاد شد در مارس 2010 توسط شرکت vmware مورد توجه قرار گرفت و به صورت جدی بر روی این پروژه سرمایه گذاری شد.
در june 2015 توسعه تحت حمایت شرکت Redis Labs آغاز شد.
سیستم عامل های قابل پشتیبانی
ردیس به زبان ANSI C نوشته شده و با بسیاری از سیستم های Posix مانند خانواده بزرگ لینوکس – یونیکس – BSD ها مانند OpenBSD و FreeBSD و OSx بدون نیاز به پیش نیاز(dependency) خارجی کار می کند.
ردیس توسط شرکت مایکروسافت برای ویندوز نیز آماده شده است.
پشتیبانی از زبان های مختلف
پشتیبانی کامل از زبان های برنامه نویسی مختلف که برای تمامی آنها کتابخانه های متعدد وجود دارد :
از معروفترین زبان های که از ردیس پشتیبانی به عمل می آورند می توان به Bash,C,C#,C++,Go,java,Matlab,node.js,Perl,PHP,Ruby,Swift,Python,VB و … اشاره کرد.
لیست کامل زبان ها به همراه کتابخانه های مختلف در آدرس https://redis.io/clients در دسترس می باشد.
برخی از مزایای Redis
- رایگان و کدباز
- سادگی در استفاده
- ماندگاری (persistence) : اطلاعات شما در اثر ریستارت سرور از بین نمی رود!
- پشتیبانی از Replication : ردیس به خوبی از Replication پشتیبانی میکند شما میتوانید سرورهای
- مختلفی را به صورت Master/Slave یا سناریوهای دلخواه خود اجرا کنید.
- استفاده از طیف وسیعی از ساختمان داده ها (Data Type)
- سرعت پاسخدهی فوق العاده
معایب Redis
- درست است که Redis با استفاده از ساختار In-Memory یا مقیم در حافظه کار می کند که باعث سرعت دسترسی و پاسخدهی بسیار عالی می گردد اما حافظه Ram در سرورها و سرورهای ابری (Cloud)
- معیار اصلی قیمت گذاری است پردازنده و هارد دیسک در معیارهای بعدی هستند.
- در نتیجه نیاز زیاد Redis به حافظه می تواند گرانقیت باشد البته درست است که Redis قابلیت استفاده از Virtual momory را دارد اما منجر به استفاده شدید I/O هارد دیسک می شود.
البته این موارد را نیز می توان با استفاده از Raid های سخت افزاری و دیسک های پرسرعت جامد مانند SSD,NVME برطرف نمود.
چرا Redis توصیه میشود؟
در دنیای کامپیوتر سرعت حرف اول را میزند و فناوریهایی که سرعت بیشتری را در اختیار کاربر و مدیران قرار میدهند طرفداران بیشتری دارند.
نقطه قوت ردیس نیز سرعت بیش از حد این فناوری است و از آنجایی که با زبان C نوشته شده است، شاهد افزایش سرعت چشمگیری در ردیس هستیم.
از طرف دیگر ساختار Redis به عنوان یک پایگاه داده NoSql شناخته میشود که این ویژگی نیز مورد توجه توسعهدهندگان قرار گرفته است.
تمامی این موارد دست به دست هم داده است تا شرکتهای بزرگ فناوری روزبهروز بیشتر به سمت استفاده از Redis گرایش پیدا کنند که در این زمینه میتوان به سایت های بزرگی مانند Github, Weibo, Pinterest, Snapchat, Craigslist, Diggs, StackOverflow و FlickR اشاره کرد.
به این ترتیب انتظار میرود در آینده نیز شاهد افزایش دامنه استفادهکنندگان Redis باشیم.
این فناوری تعامل کمتری با پایگاههای داده مستقر در بستر رایانش ابری دارد و در نتیجه هزینههای بسیار کمتری را به دنبال خواهد داشت.
در کنار تمامی این موارد به کاربرد آسان و ساده ردیس نیز باید اشاره کرد.
این امر باعث شده تا توسعهدهندگان تمایل بیشتری به استفاده از آن داشته باشند.
از طرف دیگر میتوان گفت Redis از بیشتر زبانهای برنامهنویسی مطرح دنیا پشتیبانی میکند.
این موارد باعث شده تا یادگیری و تعامل با ردیس برای توسعهدهندگان سادهتر شود که این امر نیز محبوبیت و کاربرد بیشتر آن را به دنبال داشته است.
خوشبختانه فرآیند نصب Redis بسیار ساده است و به راحتی میتوان با تایپ چند دستور آن را نصب و آماده بهرهبرداری کرد.
امیدواریم مقاله آشنایی با ردیس برای شما عزیزان مفید بوده باشد.
داتیس نتورک را در شبکه های اجتماعی دنبال کنید.