caching و یا به اصطلاح کش

caching و یا به اصطلاح کش کردن چیست؟

 

کشینگ یا کش کردن به چه معناست؟caching فرایند ذخیره نسخه های پرونده ها در حافظه پنهان- cache یا حافظه موقت است ، تا در صورت نياز دسترسی سریعتر به آنها امکان پذیر باشد.وقتی کشینگ اتفاق می افتد در بارگزاری های آينده سرعت دستيابي به اين داده‌ها زيادتر از حالت عادي می شود.از نظر فنی ، یک cache هر مکان ذخیره موقتی است برای کپی فایل ها یا داده ها ، اما معمولاً این اصطلاح در فناوری های اینترنتی استفاده می شود.سرورهای DNS ، رکوردهای DNS را برای جستجوی سریعتر ، سرورهای CDN محتواها را برای کاهش تاخیر و مرورگرهای وب ، فایلهای HTML ، JavaScript و تصاویر را به منظور بارگیری سریعتر وب سایت ها کش می کنند.

برای درک بهتر نحوه عملکرد کش ها ، بهتر است انبارهای واقعی مواد غذایی و سایر لوازم را در نظر بگیریم. در سال 1912 کاوشگری به نام روالد آموندسن هنگامی که از سفرخود به قطب جنوب باز می گشت ، او و همراهانش ساعت ها را در انبارهای مواد غذایی که در طول راه انبار کرده بودند ، می گذراندند.این کار بسیار کارآمدتر از انتظار برای کالاهای مورد نیازی بود که قرار بود از کمپ پایگاهشان برایشان ارسال شود.cache های موجود در اینترنت هدف مشابهی دارند. آنها بطور موقت “منابع” یا محتوای مورد نیاز کاربران را برای انجام سفر خود در وب ذخیره می کنند.

ذخیره CDN یا CDN caching چیست؟

یک (CDN (content delivery network یا یک شبکه تحویل محتوا ، محتواهایی (مانند تصاویر ، فیلم ها یا صفحات وب) را در سرورهای پروکسی که در نزدیکی کاربران نهایی نسبت به سرورهای اصلی قرار دارند ، کش یا ذخیره می کند.(سرور پروکسی سروری است که درخواست های کلاینت را دریافت کرده و آنها را به سرورهای دیگر منتقل می کند.)در نتیجه از آنجا که سرورها به کاربر درخواست کننده نزدیکتر هستند ، CDN قادر است سریعتر محتوا را تحویل دهد.

cdn و نحوه کش کردن
شبکه تحویل محتوا-content delivery network

تصور کنید که CDN یک زنجیره ای از فروشگاه های مواد غذایی است:خریداران به جای اینکه راه های طولانی را به مزارعی که غذای آنها پرورش میابد و حتی می توانند صدها مایل از آنها فاصله داشته باشند بروند ، به فروشگاه مواد غذایی محل خود ، که بسیار نزدیکتر است می روند.از آنجا که فروشگاه های مواد غذایی خودشان این مواد غذایی را از مزارع دوردست جمع می کنند ، پس خرید مواد غذایی برای ما به جای روزها فقط چند دقیقه طول می کشد.به همین ترتیب ، CDN محتوای موجود در اینترنت را ذخیره می کند ، به طوری که در مراحل بعدی صفحات وب خیلی سریعتر بارگیری می شوند.

چگونه این محتواها کش و یا ذخیره می شوند؟

هنگامی که یک کاربر با استفاده از CDN از وب سایتی محتوایی را درخواست می کند ، CDN آن محتوا را از یک سرور مبدا دریافت می کند.سپس یک نسخه از محتوا را برای درخواست های آینده ذخیره می کند.محتوای ذخیره شده در حافظه نهان CDN یا همان CDN cache تا زمانی که کاربران به درخواست ادامه دهند ، باقی خواهد ماند.

در سیستم caching ما دو مفهوم با نام cache hit-ضربه کش و cache miss-خطای کش داریم.

ضربه کش چیست؟ خطای کش چیست؟

هنگامی که دستگاه کلاینت درخواستی را در مورد یک محتوایی به حافظه کش میفرستد ، و حافظه cache آن محتوا را دارد cache hit اتفاق می افتد.هنگامی که حافظه پنهان محتوای درخواستی را ندارد ، یک خطای کش رخ می دهد.در صورت وجود خطای کش ، سرور CDN درخواست را از سرور مبدا منتقل می کند ، پس از آنکه سرور مبدأ پاسخ دهد ، محتوا را ذخیره می کند.به طوری که درخواست های بعدی منجر به ضربه کش می شوند.

سرورهای ذخیره CDN در کجا قرار دارند؟

سرورهای ذخیره سازی CDN در مراکز داده در سرتاسر جهان قرار دارند.برای مثال کلودفلیر دارای سرورهای CDN در 200 شهر است که در سراسر جهان پخش شده اند تا بتوانند تا حد امکان دسترسی کاربران نهایی به محتوا را داشته باشند.

داده های کش شده چه مدت در سرور CDN باقی می مانند؟

هنگامی که وب سایت ها به مطالب درخواست شده به سرورهای CDN پاسخ می دهند ، اطلاعاتی را به همراه محتوا ارسال می کنند که باعث می شود سرورها متوجه شوند چه مدت می توانند آن محتوا را ذخیره کنند.این اطلاعات در بخشی از پاسخ به نام هدر HTTP ذخیره می شود و مشخص می کند آن محتوا چند ثانیه ، دقیقه یا ساعت ذخیره خواهد شد.این مورد همان Time-to-Live یا TTL می باشد.وقتی TTL منقضی شد ، حافظه پنهان cache نیز محتوا را حذف می کند.اگر برای مدتی محتوایی درخواست نشود ، یا اگر مشتری CDN به طور دستی محتوای خاصی را پاک کند ، برخی از CDN ها نیز زود هنگام پرونده را از cache پاک می کنند.

انواع دیگر ذخیره سازی یا caching چگونه کار می کنند؟

Web browser caching – حافظه پنهان مرورگر وب هنگامی اتفاق می افتد که مرورگر نسخه ای از پرونده ها را از طریق وب سایت در هارد دستگاه کاربر ذخیره می کند.هنگامی که یک صفحه وب کش می شود ، مرورگر فقط باید قسمت های جدید یا به روز شده یک صفحه را بارگیری کند.این به مرورگرها امکان می دهد صفحات را حتی اگر اتصال اینترنت کند باشد سریعاً تحویل دهند.مرورگرها این فایلها را تا زمانی که TTL آنها تمام شود یا کش هارد دیسک پر شود ، ذخیره می کنند.کاربران همچنین می توانند حافظه کش مرورگر خود را در صورت تمایل پاک کنند.

DNS caching روی سرورهای DNS اتفاق می افتد.سرورها جستجوهای اخیر DNS را در حافظه نهان خود ذخیره می کنند ، بنابراین نیازی به جستجوی نیم سرورها نیست و می توانند فوراً با آدرس IP یک دامنه پاسخ دهند.

موتورهای جستجو ممکن است صفحات وب را که غالباً در نتایج جستجو به منظور پاسخگویی به سؤالات کاربران ظاهر می شوند ، حتی اگر وب سایت مورد نظر برای دسترسی به آنها موقتاً پایین است یا قادر به پاسخگویی نیستند.

فرآيند Caching در محل‌هاي مختلفی انجام مي‌شود، با استفاده از این فرآيند درCPU شما تا حدود زيادي سرعت دسترسي به اطلاعات را بالا مي‌بريد زيرا سيستم به جاي استفاده از حافظه‌ي رم از حافظه‌ي Cache استفاده مي‌کند، دقت کنيد که حافظه‌ي Cache در سيستم‌ها معمولا بين CPU و حافظه‌ي RAM قرار مي‌گيرد و به همين دليل سرعت دسترسي به آن توسط CPU از سرعت دسترسي به RAM بالاتر است.

آیا می دانید Cloudflare چگونه از caching استفاده می کند؟

Cloudflare یک CDN با 200 PoPs(نقاط حضور) در سطح بین المللی توزیع می کند.Cloudflare خدمات کشینگ CDN رایگان ارائه می دهد.در حالی که مشتریان CDN پولی قادر به تنظیم نحوه ذخیره محتوای خود هستند.شبکه به صورت Anycast است ، به این معنی که محتواهای یکسان از هر یک از این مراکز داده می توانند تحویل داده شوند.مثلا یک کاربر در لندن و یک کاربر در سیدنی می توانند هر یک از مطالب مشابه بارگذاری شده از سرورهای CDN را تنها با چند مایل دورتر مشاهده کنند.

CDN PoPs (نقاط حضور) مراکز داده استراتژیک مستقر در ارتباط با کاربران در مجاورت جغرافیایی خود هستند.وظیفه اصلی آنها کاهش زمان لودینگ با نزدیک کردن محتوا به بازدید کننده وب سایت است.هر CDN PoP به طور معمول شامل تعداد زیادی سرور کش است.

درحال ارسال
امتیاز دهی کاربران
0 (0 رای)
0 پاسخ

دیدگاه خود را ثبت کنید

تمایل دارید در گفتگو شرکت کنید؟
نظری بدهید!

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *