Generic selectors
Exact matches only
Search in title
Search in content
Menu
دوره آموزشی هدف گذاری (کلیک کنید)


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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

دوست عزیز. دسترسی کامل مجموعه درس‌های سواد دیجیتال برای اعضای ویژه‌ی متمم در نظر گرفته شده است.

  تعداد درس‌ها: ۷۴ عدد

  دانشجویان این درس: ۶۶۹۴ نفر

  تمرین‌های ثبت‌شده: ۳۷۳۶ مورد

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

 فهرست درس‌های متمم

البته اگر به تسلط بر تکنولوژی و سواد دیجیتال علاقه دارید، احتمالاً مطالعه‌ی مباحث زیر برایتان در اولویت خواهد بود:

  آموزش CRMاتوماسیون بازاریابی

  استراتژی محتوا | آموزش بازاریابی محتوا | دیجیتال مارکتینگ

  آموزش سئو | ایمیل مارکتینگ | شبکه های اجتماعی

  شبکه های اجتماعی | تولید محتوا

  دوره MBA (پیگیری منظم مجموعه درس‌ها)

اگر با فضای متمم آشنا نیستید و دوست دارید درباره‌ی متمم بیشتر بدانید، می‌توانید نظرات دوستان متممی را درباره‌ی متمم بخوانید و ببینید متمم برایتان مناسب است یا نه. این افراد کسانی هستند که برای مدت طولانی با متمم همراه بوده و آن را به خوبی می‌شناسند:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

تمرین:

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

      شما تاکنون در این بحث مشارکت نداشته‌اید.  

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

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

سری مطالب حوزه سواد دیجیتال
 

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

متمم چیست و چه می‌کند؟ (+ دانلود فایل PDF معرفی متمم)
چه درس‌هایی در متمم ارائه می‌شوند؟
هزینه ثبت‌نام در متمم چقدر است؟
آیا در متمم فایل‌های صوتی رایگان هم برای دانلود وجود دارد؟

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

    پرطرفدارترین دیدگاه به انتخاب متممی‌ها در این بحث

    نویسنده‌ی دیدگاه : محمدرضا شعبانعلی

    در مطالعه‌ی یک وبلاگ آموزشی مثال جالبی در مورد Cache دیدم که احساس کردم می‌تواند درک مفهوم Cache را برای کسانی که آن را کمتر می‌شناسند بسیار ساده کند.

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

    به صورت تئوریک، می‌توانیم اصلاً یخچال نداشته باشیم. چون به هر حال نزدیک خانه‌ی هر کسی یک سوپرمارکت وجود دارد و می‌شود در لحظه‌ی نیاز به هر چیزی (مثلاً یک تخم مرغ یا یک بطری آب یا دو عدد پرتقال) به سوپرمارکت مراجعه کنیم و ملزومات خود را بخریم.

    اما این کار قاعدتاً کُند است و بخش قابل توجهی از منابع ما (انرژی و وقت و پول) را به خود اختصاص می‌دهد. پس به تدریج با توجه به مصرف خود یاد می‌گیریم که چه چیزهایی را بیشتر لازم داریم و آنها را خریداری می‌کنیم و در یخچال خانه نگهداری (Cache) می‌کنیم.

    معمولاً حجم Cache کردن هم بر اساس نرخ مصرف و تاریخ انقضا تعیین می‌شود.

    تازه اگر مثل من باشید و چند وقت یک بار، مدتی فراموش کنید که به یخچال سر بزنید و چیزی بخورید، مجبور می‌شوید در یخچال را باز کنید و هر چه هست را بیرون بریزید و از اول آن را پر کنید. کاری که در ادبیات کش به آن Flush کردن می‌گویند.

     
    تمرین‌ها و نظرات ثبت شده روی این درس صرفاً برای اعضای متمم نمایش داده می‌شود.
    .