ما هي ذاكرة التخزين المؤقت؟

عند طلب البيانات من أي مصدر ، هناك دائمًا بعض التأخير. يتم قياس اختبار الاتصال بخوادم الويب بالمللي ثانية ، ويمكن أن يكون لوقت الوصول إلى التخزين فترات انتقال بالميكروثانية بينما يتم قياس زمن انتقال ذاكرة الوصول العشوائي في دورات ساعة وحدة المعالجة المركزية. بالطبع ، لم يكن من الممكن تصور هذه الأنواع من السرعات قبل بضعة عقود فقط ، لكن في الوقت الحاضر ، لم تكن بالسرعة الكافية على الإطلاق. سرعة الوصول بشكل منتظم شكل من أشكال الاختناق في الأداء. إحدى الطرق التي يمكن بها معالجة ذلك هي التخزين المؤقت.

التخزين المؤقت هو عملية تخزين نسخة مؤقتة من مورد بطريقة يمكن الوصول إليها بشكل أسرع من المعتاد. هناك مجموعة كبيرة من التطبيقات في كل من البرامج والأجهزة. يمكن أن تعمل ذاكرات التخزين المؤقت كذاكرة تخزين مؤقت للقراءة أو كتابة ذاكرات تخزين مؤقت أو كليهما.

قراءة ذاكرات التخزين المؤقت

في ذاكرة التخزين المؤقت للقراءة التي تم طلبها مسبقًا يتم تخزينها في ذاكرة تخزين مؤقت للوصول بشكل أسرع. في بعض السيناريوهات ، قد يتم تحميل ذاكرة التخزين المؤقت بشكل استباقي بالبيانات مما يسمح بتقديم الطلب الأول من ذاكرة التخزين المؤقت بدلاً من الطلبات اللاحقة فقط.

ذاكرة التخزين المؤقت للقراءة التي من المرجح أن تكون على دراية بها هي ذاكرة التخزين المؤقت للمتصفح. هنا يخزن المتصفح نسخة محلية من الموارد المطلوبة. وهذا يعني أنه في حالة إعادة تحميل صفحة الويب أو عند تحميل صفحة مماثلة تستخدم الكثير من المحتوى نفسه ، يمكن تقديم هذا المحتوى من ذاكرة التخزين المؤقت بدلاً من خادم الويب. لا يعني هذا أن صفحة الويب يمكن تحميلها بشكل أسرع فحسب ، بل إنها تقلل أيضًا من الحمل على الويب الخادم ويقلل من كمية البيانات التي يحتاجها المستخدم لتنزيلها والتي يمكن أن تكون مهمة عند قياسها روابط.

تعمل ذاكرة الوصول العشوائي نفسها أيضًا كذاكرة تخزين مؤقت للقراءة للبيانات الموجودة في محرك الأقراص الثابتة. في هذه الحالة ، يتم تحميل بيانات برنامج قيد التشغيل بشكل استباقي في ذاكرة الوصول العشوائي حتى تتمكن وحدة المعالجة المركزية من الوصول إليها بشكل أسرع. يتم بعد ذلك تخزين البيانات من ذاكرة الوصول العشوائي مؤقتًا إلى ذاكرة التخزين المؤقت لوحدة المعالجة المركزية ، على الرغم من أن العملية الخاصة بذلك أكثر تعقيدًا حيث يتم قياس ذاكرة التخزين المؤقت لوحدة المعالجة المركزية بالميغابايت وليس بالجيجابايت.

اكتب مخابئ

ذاكرة التخزين المؤقت للكتابة هي ذاكرة تخزين مؤقت يمكنها استيعاب البيانات التي تتم كتابتها على جهاز أبطأ. ومن الأمثلة الشائعة على ذلك ذاكرة التخزين المؤقت SLC في محركات أقراص الحالة الصلبة الحديثة. لا تسمح ذاكرة التخزين المؤقت هذه بقراءة البيانات بشكل أسرع ، ومع ذلك ، فإن الكتابة إليها أسرع بكثير من الكتابة إلى فلاش TLC أو QLC الذي يشكل بقية SSD. يمكن أن تمتص ذاكرة التخزين المؤقت SLC عمليات الكتابة عالية السرعة ، ثم تفريغ تلك البيانات بأسرع ما يمكن إلى فلاش TLC الذي يوفر كثافة تخزين أفضل بكثير ، ولكنه أيضًا أبطأ كثيرًا في الكتابة إليه. يؤدي استخدام ذاكرة الفلاش بهذه الطريقة إلى تحسينها لكل من سرعات الكتابة السريعة وكثافة التخزين العالية.

هجين مخابئ

هناك العديد من الطرق للتعامل مع ذاكرات التخزين المؤقت التي يمكن أن تسمح لها بالعمل كذاكرة تخزين مؤقت للقراءة والكتابة. كل من هذه الطرق تتعامل مع عمليات الكتابة بشكل مختلف ولها مزايا وعيوب. الخيارات الثلاثة هي الكتابة ، والكتابة ، وإعادة الكتابة. تتخطى ذاكرة التخزين المؤقت للكتابة ذاكرة التخزين المؤقت تمامًا عند الكتابة ، وتكتب ذاكرة التخزين المؤقت للكتابة في ذاكرة التخزين المؤقت ولكنها تعتبر العملية مكتملة فقط عندما تتم كتابتها في وحدة التخزين. تكتب ذاكرة التخزين المؤقت لإعادة الكتابة إلى ذاكرة التخزين المؤقت ثم تعتبر العملية مكتملة ، بالاعتماد على ذاكرة التخزين المؤقت لنقلها إلى وحدة التخزين إذا لزم الأمر.

يمكن أن تكون ميزة "الكتابة حول" مفيدة إذا كنت تتوقع عددًا كبيرًا من عمليات الكتابة لأنها تقلل من زخم ذاكرة التخزين المؤقت. ومع ذلك ، فهذا يعني أن العملية التي تقرأ بعد ذلك أيًا من تلك البيانات المكتوبة ستواجه ذاكرة تخزين مؤقت واحدة على الأقل في المرة الأولى. مخابئ الكتابة من خلال ذاكرة التخزين المؤقت لعمليات الكتابة على الفور مما يعني أنه يمكن تقديم النتيجة من ذاكرة التخزين المؤقت في المرة الأولى التي يتم طلبها فيها. لكي يتم اعتبارها مكتملة ، تحتاج عملية الكتابة إلى كتابة البيانات على القرص أيضًا مما يضيف زمن انتقال. تتمتع ذاكرة التخزين المؤقت لإعادة الكتابة بنفس فائدة الكتابة من خلال ، مما يسمح بتقديم البيانات المكتوبة على الفور من ذاكرة التخزين المؤقت. على الرغم من ذلك ، لا يتطلب الأمر عمليات كتابة للكتابة على القرص حتى يتم اعتبارها مكتملة. يقلل هذا من وقت استجابة الكتابة ولكنه يأتي مصحوبًا بخطر فقدان البيانات إذا كانت ذاكرة التخزين المؤقت متقلبة ولا تنتهي من إعادة كتابة البيانات إلى وحدة التخزين قبل فقد الطاقة.

كيفية إزالة البيانات من ذاكرة التخزين المؤقت؟

السعة هي أحد العوامل التي تحد من أي ذاكرة تخزين مؤقت. تستغرق ذاكرة التخزين المؤقت الكبيرة وقتًا طويلاً للبحث ، مما يؤدي إلى إبطال جزء كبير من ميزة استخدام ذاكرة التخزين المؤقت في المقام الأول. تميل تقنيات الذاكرة المستخدمة في التخزين المؤقت أيضًا إلى أن تكون أكثر تكلفة من الذاكرة التي يتم تخزينها مؤقتًا منها. إذا لم يكن الأمر كذلك ، فمن المحتمل أن تكون طبقة الذاكرة هذه قد بدلت تقنيات الذاكرة لتحسين الأداء. يعني هذان العاملان أن ذاكرات التخزين المؤقت تميل إلى أن تكون صغيرة نسبيًا ، لا سيما عند مقارنتها بوسيط التخزين الذي يتم التخزين المؤقت منه. ذاكرة الوصول العشوائي ذات سعة أقل من التخزين وذاكرة التخزين المؤقت لوحدة المعالجة المركزية أقل سعة من ذاكرة الوصول العشوائي. ذاكرة التخزين المؤقت SLC أقل سعة من ذاكرة TLC.

كل هذا يعني أنه غالبًا ما يكون من الضروري تدوير البيانات من ذاكرة التخزين المؤقت لتحرير مساحة للبيانات الجديدة التي يجب تخزينها مؤقتًا. هناك مجموعة من الأساليب المختلفة لهذا. يفضل "الأقل استخدامًا" استبعاد إدخالات ذاكرة التخزين المؤقت التي لها أقل عدد وصول. يمكن أن يكون هذا مفيدًا للتنبؤ بالإدخالات التي سيكون لها أقل تأثير على ذاكرة التخزين المؤقت المفقودة في المستقبل ولكن سيحسب أيضًا الإدخالات المضافة مؤخرًا على أنها تحتوي على عدد قليل من عمليات الوصول ، مما قد يؤدي إلى ذاكرة التخزين المؤقت يخض، يحرك بعنف.

يفضل "الأقل استخدامًا مؤخرًا" استبعاد إدخالات ذاكرة التخزين المؤقت التي لم يتم استخدامها منذ فترة. يفترض هذا أنه لا يتم استخدامها حاليًا ، ولكن لا يأخذ في الاعتبار ما إذا تم استخدامها بكثافة منذ فترة. تفضل "الأكثر استخدامًا" استبعاد إدخالات ذاكرة التخزين المؤقت المستخدمة مؤخرًا ، بافتراض أنها قد تم استخدامها ولن تحتاج إلى استخدامها مرة أخرى. أفضل نهج بشكل عام هو مزيج من الثلاثة ، مستنير بإحصائيات الاستخدام.

المعلومات التي لا معنى لها ومخاطر الأمان

يتمثل الخطر الرئيسي لذاكرة التخزين المؤقت في أن المعلومات التي تحتويها يمكن أن تصبح قديمة. يعتبر إدخال ذاكرة التخزين المؤقت قديمًا عندما يتم تحديث البيانات الأصلية تاركًا إدخال ذاكرة التخزين المؤقت قديمًا. من المهم التحقق بانتظام من أن النسخة الحية التي يتم تقديمها لا تزال مطابقة للنسخة المخبأة.

في مواقع الويب على وجه التحديد ، من المهم للغاية أيضًا تحديد البيانات التي يمكن تخزينها مؤقتًا والتي لا يمكن تخزينها مؤقتًا. على سبيل المثال ، من الجيد تمامًا تخزين ملف جافا سكريبت كبير غير متغير مؤقتًا. هذا يحفظ المستخدم من تنزيله في كل مرة ، ويمكن أن يفيد المستخدمين الآخرين الذين تخدمهم نفس ذاكرة التخزين المؤقت. ومع ذلك ، لا يمكنك تخزين البيانات الخاصة بالجلسة مؤقتًا. تخيل ما سيحدث إذا تصفحت تطبيق المراسلة وأنت مسجّل الدخول بنفسك ، فقط لتجد أنه تم تقديم نسخة مخبأة لك من رسائل مستخدم آخر. لحسن الحظ ، يمكن لخوادم الويب تحديد الموارد التي يمكن تخزينها مؤقتًا والتي لا يمكن تخزينها مؤقتًا وهذه المشكلات معروفة بشكل عام لذلك هناك بعض المشكلات مثل هذه.

استنتاج

ذاكرة التخزين المؤقت هي جزء من الذاكرة يمكنه تخزين بعض البيانات المستخدمة مؤخرًا في طريقة تخزين يكون الوصول إليها أسرع مما سيكون عليه لإكمال عملية الوصول إلى البيانات العادية مرة أخرى. عادةً ما تكون سعة ذاكرة التخزين المؤقت محدودة مما يعني أنها تحتاج إلى طرد الإدخالات بمجرد امتلائها. تكون ذاكرات التخزين المؤقت شفافة بشكل عام للمستخدم ، مما يعني أن زمن الانتقال هو المؤشر الوحيد على أن النتيجة تم تقديمها عبر ذاكرة تخزين مؤقت.