جستجو
برای جستجو متن مورد نظر وارد کنید و Enter بزنید برای بستن Esc بزنید.
Memcached یک نرم افزار متن باز است و جهت بهبود عملکرد برنامههای پویا که به پایگاه داده متصل هستند، به کار میرود. این نرم افزار با در نظر گرفتن حافظه رم (RAM) به عنوان یک انبار داده، باعث میشود دسترسی به اطلاعات بدون خواندن هارد دیسک صورت گیرد. این روش باعث کاهش فشار روی سرور و همچنین کم شدن تأخیر (latency) در برقراری ارتباط می گردد. وب سایت های محبوبی مانند یوتیوب، فیسبوک، توییتر و ویکی پدیا سالها است که از مزایای این نرم افزار متن باز بهره میبرند و به کاربران خود امکان وبگردی با سرعت بالاتر را میدهند.
اولین نسخه از ممکشد در سال ۲۰۰۳ توسط Danga Interactive با زبان Perl برنامه نویسی شد و آن را برای خدمت به وبسایتشان بنام LiveJournal بهکار گرفت. بعد ها Anatoly Vorobey این برنامه را به زبان C بازنویسی کرد. در حال حاضر سرویس دهندگان بزرگی مانند یوتیوب، ردیت، فیسبوک، پینترست، توییتر، ویکیپدیا، گوگل، مایکروسافت، آمازون و… از Memcached بهره میبرد.
یکی از کاربردهای مهم ممکشد افزایش سرعت است؛ اما افزایش سرعت با ممکشد چگونه امکانپذیر است؟ برای پاسخ به این پرسش، باید بدانیم که ممکشد چطور کار میکند. تمامی دیتابیسها اطلاعات را روی هارد دیسک ذخیره میکنند. این هارد از فناوری قدیمی HDD یا در بهترین حالت از SSD استفاده میکند؛ اما اطلاعات Memcached روی RAM نگهداری میشوند. در این صورت، با سرعت بسیار زیاد و درحد میکروثانیه میتوانید به اطلاعات دسترسی داشته باشید و همین امر سبب افزایش سرعت با Memcached خواهد شد.
افزایش سرعت با ممکشد از یک سو و مدیریت حافظه کارآمد و پشتیبانی از API برای اکثر زبانهای محبوب و طراحی ساده و کاربرپسند از سوی دیگر، Memcahced را به گزینهای بسیار محبوب برای توسعهدهندگانی تبدیل کرده است که به استفاده از حافظه پنهان با کارایی چشمگیر و مقیاس بزرگ نیاز دارند.
وبسایتها و اپلیکیشنهای زیادی از سیستم کشینگ Memcached استفاده میکنند. مهمترین دلایل استفاده از ممکشد عبارتند از:
نکات قوت اصلی ممکشد بدون شک سرعت، قابلیت ارتقا و پشتیبانی آن از تمامی واسط های برنامهنویسی (API) و زبانهای برنامهنویسی رایج از جمله روبی، جاوا، جاوا اسکریپت، پایتون، Go، پیاچپی، سی، سی++، سی شارپ و Node.js است. همچنین نصب آن روی سیستمعاملهای ویندوز یا یونیکس ساده می باشد. علاوه بر پکیج توسعهدهنده، شما به کتابخانه libevent نیز نیاز دارید که اعلانهای رویداد غیرهمزمان را فراهم میکند. پس از نصب، با توجه به زبان برنامهنویسی مورد استفاده، گزینههای پیکربندی مختلفی برای سمت کاربر و سرور در دسترس خواهد بود.