Menu


حافظه کش چیست؟ کش کردن به چه معناست؟ (Cache)


اهداف و انتظارات آموزشی متمم در این درس
کد درس: ۴۷۹۰۴

از دوستان عزیز متممی انتظار می‌رود پس از مطالعه این درس:

  • بتوانند مفهوم کش کردن را توضیح دهند.
  • به خاطر داشته باشند که کش و کش کردن قبل از اینکه یک قطعه یا ابزار سخت افزاری باشد یک روش و یک تکنیک است. تکنیکی که با هدف افزایش سرعت مورد استفاده قرار می‌گیرد.
  • بتوانند معنا و عملکرد برخی از انواع کش کردن از جمله کش حافظه، کش محاسبات، کش دیسک، کش مرورگرها و کش پردازنده، کش اپلیکیشن‌های موبایل را توضیح دهند.
فشار ذهنی هنگام مطالعه
نیاز به مشارکت شما
کسب و کار
زندگی
حافظه کش چیست؟

چند سال پیش، اصطلاح   Cache معمولاً صرفاً هنگام معامله‌ی کامپیوتر و میان دانشجویان نرم افزار و سخت افزار و فناوری اطلاعات شنیده می‌شد.

اما این روزها این واژه به بهانه‌های بیشتری به گوش‌مان می‌خورد.

به این جمله‌ها نگاه کنید:

 اگر هنوز شکل ظاهری سایت را درست نمی‌بینی، احتمالاً مشکل از کش مرورگر توست.

 حافظه موبایل من پر شده. باید کش آن را خالی کنم. این کار را دستی انجام بدهم یا از برنامه خاصی استفاده کنم؟

 یکی از روش‌های افزایش سود شرکتهای خدمات اینترنتی، کش کردن ترافیک است.

 دو لپ‌تاپ مشابه دیده‌ام. اما CPU Cache آنها با هم تفاوت دارد. کش چقدر مهم است؟

 کش تلگرام را چطور پاک کنم؟

 چرا فتوشاپ من دفعه‌ی اول کند باز می‌شود. اما دفعه‌ی دوم و سوم، خیلی سریع‌تر باز می‌شود؟ آیا این به کش مربوط است؟ یا علت دیگری دارد؟

قاعدتاً چندان ساده و حتی امکان‌پذیر نیست که ما در یک درس، پاسخ تمام سوال‌های بالا را ارائه کنیم. اما می‌توانیم تلاش کنیم که معنی جمله‌های فوق و ده‌ها جمله‌ی شبیه آنها را بهتر بفهمیم.

اجازه بدهید قبل از ورود به بحث اصلی، یک مثال را بررسی کنیم.

یک مثال مقدماتی برای درک بهترِ مفهوم کش

تعریف کش چیست؟ بررسی چند مثال از کش در محیط کاراحتمالاً پس از مدتی متوجه می‌شوید که اکثر سوال‌ها مربوط به ده یا بیست قطعه‌ی خاص است.

برای اینکه مدام در انبار راه نروید و به دنبال قطعه‌ها و برچسب‌های انبار و پارت‌نامبر‌ها نگردید، نام و کد آن بیست قطعه را یک جا روی کاغذی کنار دست‌تان یادداشت می‌کنید تا هنگام تماس تلفنی، سریع‌تر و ساده‌تر، کدِ مورد نظر همکاران‌تان را به آنها اطلاع دهید.

شما، به این ترتیب، یک سیستم کش ایجاد کرده‌اید.

خودِ کلمه‌ی Cache به معنای پنهان کردن یا چیزی است که برای کاربردهای آتی ذخیره و پنهان شده است.

مثلاً به غذایی که حیوانات در زمستان ذخیره و پنهان می‌کنند تا بعداً استفاده کنند، Cache گفته می‌شود.

اصطلاح کش در دنیای کامپیوتر، همزمان با تلاش برای افزایش کارایی CPU (پردازنده‌های مرکزی کامپیوتر‌ها) به صورت گسترده رواج پیدا کرد.

محدودیت در دسترسی کامل به این درس

دوست عزیز.

درس مفهوم کش (Cache) برای کاربران ویژه متمم در نظر گرفته شده است.

با عضویت به عنوان کاربر ویژه‌ی متمم، علاوه بر دسترسی به این درس، به سایر درس‌های مرتبط با سواد دیجیتال هم  دسترسی پیدا می‌کنید که می‌توانند به شما بیشتر کمک کنند.

همچنین با فعال کردن اشتراک ویژه به درس‌های بسیار بیشتری دسترسی پیدا می‌کنید که می‌توانید فهرست آنها را در اینجا ببینید:

 فهرست درس‌های مختص کاربران ویژه متمم

البته از میان درس‌های مطرح شده، ما فکر می‌کنیم با توجه به علاقمندی شما به موضوع دیجیتال، شاید بهتر باشد ابتدا مطالعه‌ی مباحث زیر را در اولویت قرار دهید:

 استراتژی محتوا و بازاریابی محتوا

 شناخت بهتر شبکه های اجتماعی

 دوره MBA متمم (اگر به بحث‌های کلان مدیریتی علاقمندید)

الگوریتم‌های کش، پیچیده‌تر از این حرف‌ها هستند

فراموش نکنیم که این درس بسیار ساده طراحی شده بود و عمداً کوشیدیم از بسیاری جزئیات فنی صرف نظر کنیم.

اما در دنیای واقعی، متخصصانی هستند که تخصص آنها دقیقاً Cache است. آنها عمر خود را روی این موضوع و الگوریتم‌های آن صرف کرده‌اند.

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

اجازه بدهید برخی از چالش‌های کش را برای شما مطرح کنیم:

 شرکت‌های خدمات اینترنتی، از کجا باید بفهمند که کدام صفحات را کش کنند و کدام را کش نکنند؟ از کجا بفهمند که هر صفحه را برای چه مدت کش کنند؟ یک ثانیه؟ ده ثانیه؟ یک ساعت؟

 مرورگر وب در گوشی موبایل شما، باید به صورت پیوسته در مورد اینکه چه چیزی را کش کند و چه چیزی را کش نکند تصمیم بگیرد.

 سیستم عامل کامپیوتر شما، باید تشخیص دهد چه اطلاعاتی را بیشتر لازم دارد و آنها را روی بخش‌های سریع‌تر حافظه‌ی خود نگهداری کند.

 گوگل از کجا باید فاصله‌ی مناسب کش کردن صفحه‌ها را تشخیص دهد؟ بعضی صفحه‌ها در گوگل در حد چند ثانیه و برخی دیگر در حد چند روز و گاه تا دو هفته، کش می‌شوند. معیار محاسبه و انتخاب چیست؟ اگر صفحه‌ها را طولانی مدت کش کنیم، با یک وبِ مُرده طرف هستیم و اگر بسیار کوتاه کش کنیم، اینترنت زیر فشار بار ترافیک می‌میرد.

 ما هر بار در کنار صفحه به شما، متممی‌های برتر را نشان می‌دهیم. قاعدتاً محاسبه‌ی امتیاز متممی‌های برتر ساده نیست و زمان می‌برد. بیش از یکصدهزار تمرین و امتیازها باید مرور شوند. تازه باید حساب کنیم و حدس بزنیم که چه کسانی به خودشان امتیاز داده‌اند یا با اکانت‌های دوم و سوم، خودشان را تشویق کرده‌اند. هر لحظه صدها نفر در متمم هستند و در کنار صفحه متممی‌های برتر را می‌بینند. ما باید نتایج دیتابیس را چگونه کش کنیم؟ کدام نتایج را کش کنیم و کدام را به روز کنیم؟ فاصله‌ی زمانی برای Expire شدن و منقضی شدن محاسبات ما چقدر است؟ قطعاً همه‌ی پارامترها عمر یکسانی ندارند. عمر هر پارامتر چگونه محاسبه می‌شود؟

شاید ما توجه چندانی به این بحث‌ها نداشته باشیم.

اما الگوریتم‌های کش، دنیای اطراف ما را می‌سازند. کوچک‌ترین تغییری در آنها می‌تواند تغییرات زیادی در سراسر جهان به وجود آورد. بدون اینکه کسی متوجه بشود و یا منشاء تغییر را حس کند.

گوگل با هر تغییر کوچکی در هر بخشی از معادلات سیستم‌های هوشمند کش خود، ترتیب متفاوتی از صفحات را نمایش خواهد داد.

نرم‌افزارهای پیام رسان، با الگوریتم‌های کش متفاوت، مسیر‌های ترافیکی متفاوتی را در سطح جهان ایجاد می‌کنند.

و خلاصه، همچنان که در متن اشاره شد:

کاربرد کش چیست؟

تمرین:

با توجه به محتوای درس و سطح آن (که ابتدایی و ساده است) چه نکات دیگری در مورد کش به ذهن‌تان می‌رسد که دانستن آن می‌تواند برای دوستان‌تان مفید یا جذاب باشد؟

 
 

ترتیبی که گروه متمم برای خواندن مطالب سری سواد دیجیتال به شما پیشنهاد میکند:

قوانین کامنت گذاری/ ارسال نظرات غیر مرتبط با این مطلب

18 نکته برای حافظه کش چیست؟ کش کردن به چه معناست؟ (Cache)

    تمرین برتر به انتخاب متممی ها در این درس (تا این لحظه)

    نویسنده تمرین : علی کریمی

    متن تمرین :

    1- با اضافه کردن //:cache به ابتدای آدرس صفحه می‌توانید به نسخه کش شده آن در گوگل برسید. مثلا: cache://motamem.org

    2- اگر به هر دلیلی به سایتی دسترسی ندارید یک روش دور زدن مراجعه به نسخه کش شده آن در گوگل هست.

    3- بعضی سایت‌ها اجازه نمی‌دهند صفحاتشان در گوگل کش شود مثل quora.com

    4- برای اینکه مرورگر، صفحات را کش نکند باید از حالت incognito (این کاگ نیتو) استفاده کنید. این باعث می‌شود همیشه به آخرین نسخه سایت‌ها و وبلاگ‌ها دسترسی داشته باشید.

     

     
    دوست گرامی مشاهده تمرینهای مربوط به این درس، صرفا برای کاربران متمم امکانپذیر میباشد.
    .