Redis كذاكرة الـ Cache: هل الإستضافة بإستخدام Redis أسرع؟

Redis as Cache
Shares

يُمكنك إستخدام قاعِدة بَيانات Redis كذاكرة الـ Cache لتَخزين البيانات مؤقتًا. وهذا يُسرع من تَحميل صَفحات الإنترنت. تعرّف على طريقة عَمل Redis، وما هي فوائده، وما عليك القيام به لتفعيله.


ما هو Redis؟

هي قاعِدة بَيانات NoSQL – مُستودع بَيانات حَديث – وتعمل على تَسريع المواقع الإلكترونية وتَحسين الأداء. ومن أوائل الشّركات التي إستخدمتها شَركات عِملاقة مثل GitHub وInstagram. في الوقت الحالي، وتعد Redis واحِدة من أكثر قَواعد البَيانات الغير علائقيّة التي يَتم إختيارها بشكل مُتكرّر.

بِشكل إفتراضي، يَتم تَخزين مِلفّات قاعِدة البَيانات عَلى القُرص الصّلب للخادم. ولكن في هذهِ الحالَة، فالأمر مُختلف. ويقوم خادِم Redis بتَخزين البَيانات في ذاكِرة الوصُول العَشوائي. ولا يجلب البَيانات من قرص الخادم. ويتم تحميل الموقع الإلكتروني بإستخدام هذا الحَل بشكل أسرع. ويستطيع Redis التّعامل مع ملايين الطّلبات في الثانية بسبب إنخفاض عدد الإتصالات.

الأداء المُمتاز وتَعدُد المَهام هي أكبر المزايا إلى حَد بعيد. والبحث عَن العَناصر الفَردية في هَياكل البَيانات أَسرع بَكثير مِن البَحث عَنها عَلى قُرص الخادِم. فيمكن تَحقيق أَوقات إستجابة أقل مِن مللي ثانية بإستخدام التّخزين المؤقت لـ Redis. وهو أكثر فَعالية على خوادم VPS بإستخدام SSD NVMe.


الأُطر الأَكثر شُيوعًا التي يَدعمها Redis

الحَل المَرن هو مَثيل Redis. في التّطبيقات الحَديثة، ويمكن إستخدامه لتَخزين البيانات ذات القِيمة الرئيسيّة، أو دفق البَيانات، أو إِرسال الإشعارَات، أو تقليص المُحتوى، أو إجراء تحليل في الوَقت الفوري.

بعض الأُطر الأَكثر شَعبية مع دَعم Redis هي:

  • السلاسِل، وقائِمة السلاسِل، ومَجموعة السلاسِل;
  • هياكل لتَخزين الحُقول والقيم;
  • أنماط البيانات المُستخدمة في التّشغيل، أي الصّور النُقطية;
  • هَياكل لتَقدير العَناصر الفَريدة، أي المدوّنات الفائِقة.

هل هناك أي عيوب في Redis؟ تَحتاج قاعدة البيانات إلى كميّة ضخمة من ذاكِرة الوُصول العَشوائي بسبب خصائصها. فحجم الأَقراص الصّلبة ليس مُشكلة كبيرة. ومن الصّعب العُثور على عُيوب أخرى لأنه مَشروع ناجح.

من أجل جَعل مَوقعك الإلكتروني على ووردبريس أَسرع ما يمكن، مِن المُفيد الخَوض في مَوضوع خوادِم المواقع. إقرأ المَقال الذي يُقارن بَين Apache وLiteSpeed وسَتتمكّن من إختيار الإستضافة المُناسبة لموقعك الإلكتروني.


الإستخدام الأَكثر شُيوعًا لـ Redis

التّخزين المؤقّت للبَيانات

إستخدام Redis للتّخزين المؤقت يُقلل بشكل كبير من الوقت الذي يستغرقه الوصول إلى البيانات. ويسمح لَك بأداء مَجموعة مُتنوعة من المَهام في فَترة زَمنيّة أَقصر بَكثير. ويسمح التّخزين المؤقّت كذلك بالإحتفاظ بالبيانات لفَترة أطول. ولا يَتم فُقدان أي مُنتجات أو بيانات جلسة العَمل من قِبل المُستخدم الذي قام بتَسجيل الدّخول. حتّى إذا كانت العَناصر الأخرى للصّفحة معطّلة، فإن ذاكرة التّخزين المؤقّت في Redis لا تزال تعمل.

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

إدارة البَيانات الجُغرافية المكانية

يوفّر Redis إدارة البيانات الجُغرافية المكانية على نِطاق واسِع مِن خلال تَنفيذ هَياكل البَيانات في ذاكرة التّخزين المؤقّت للذّاكرة في الوقت الفوري. بإستخدام Redis، ويمكنك تَنفيذ مِيزات تَستند إلى الموقع في تَطبيقك. ويمكن أن يَكون ذلك وَقت السّفر أو المَسافة أو نِقاط الإهتمام على الخّريطة.

التّعلم الآلي

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

التّحليلات في الوَقت الآني

تَقوم Redis بإلتقاط البَيانات في الوقت الآني مُعالجتها وتَحليلها بزَمن إستجابة أقل مِن مللي ثانية كمَخزن بيانات في الذاكرة. وبالنسبة لتَحليلات الوسائط الإجتماعية أو إدارة الإعلانات، فإن Redis مثالي لتَحليلات الوسائط الإجتماعية أو إدارة الإعلانات.

تدفق الوسائط

يُمكن دَعم البث المُباشر بإستخدام التّخزين المؤقّت مِن جانِب العَميل Redis. لَديه القُدرة على تَخزين البَيانات الوَصفية حَول ملفّات تَعريف المُستخدمين وسِجل التّصفح ومَعلومات المُصادقة والرّموز المُميّزة. بث مُحتوى فيديو يصل إلى الملايين من مُستخدمي سطح المكتب والجوّال.

تَصنيفات الألعاب

تحظى Redis بشعبيّة كَبيرة لدى مطوّري الألعاب. فهم يَستخدمونها لعمل جَداول تَسجيل في الوَقت الفوري. تَضمن بُنية بَيانات Redis Sorted Set أن تَكون العناصر فريدة مَع الحِفاظ على قائِمة مُرتّبة حَسب درجات المُستخدم. ومن السّهل جدًا إنشاء قوائم وتَحديثها!

الإتصالات

يتَعامل Redis كذلك مَع غُرف المُحادثات وتَدفّقات التّعليقات وقَنوات التّواصل الإجتماعي وإتصالات خادِم التّطبيق الداخليّة في الوقت الآني.

يُمكن أن تُساعدك Redis على تَعزيز أداء خَدماتك

ذاكِرة التّخزين المؤقّت للكائنات في ووردبريس

في ووردبريس، يتم إستخدام فئة WP Object Cache كوضع إفتراضي للتّخزين المؤقت. ويتكون من التّخزين المؤقت لنتائج الإستعلام عن قاعدة البيانات بإستخدام SQL. ويسمح بإسترجاع البيانات بشكل أسرع ويَلغي الحاجة إلى الإتصال بقاعدة البيانات بشكل مُتكرّر. ويتم تَنزيل بَعض البَيانات من قاعِدة البيانات عند تحميل ووردبريس:

  • يتم تَعيين كافة الخِيارات مِن جَدول wp_options التي تَحتاج إلى تحميلها تلقائيًا إلى true;
  • تَفاصيل المُستخدم الذي قام بتَسجيل الدّخول، إلى جانِب البيانات الوصفيّة;
  • نتائِج إستعلام WP: العناصِر والصّفحات وأَنواع العَناصر المُخصّصة مع بياناتها الوصفيّة وتصنيفاتها;
  • بيانات حَول الموضوع الحالي;
  • العابرين.

يُمكنك الحُصول على وصول أسرع بكثير ولا يتعين عليك إجراء إستعلامات مُتعددة عن طريق تخزينها في ذاكرة التّخزين المؤقت. وتنفذ الحقول المُخصصة أيضًا آلية التخزين المؤقت للكائنات. وسيتم إسترداد البيانات الوصفيّة المُخزّنة في هذه الحقول بشكل تلقائي من قاعِدة البَيانات (بإستخدام WP QUERY) عند إضافة حُقول مُخصّصة إلى إدخال أو صفحة.

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

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

يٌمكنك أيضًا إستخدام إضافات التّخزين المؤقّت لتَسريع ووردبريس أكثر. تعرّف على أفضل إضافات التّخزين المؤقّت في ووردبريس في هذه المقالة.


Transients API

باستخدام واجهة Transients API، يَمتلك ووردبريس آلية لتَخزين البيانات بشكل أكثر ثباتًا. في جَدول wp_options، ويخزّن البَيانات كسجل مُنفصل. يُستخدم Transients API لتَخزين نتائج إستعلامات قاعِدة البَيانات المُعقّدة أو البَيانات التي يتم تَنزيلها مِن مَصدر خارِجي في الذّاكرة. ويُمكن لـ ووردبريس تَخزين البَيانات في العابر لفَترة من الوقت بَدلاً من إِرسال هَذا الإستعلام إلى قاعِدة البَيانات في كُل مرّة يَزور فِيها شَخص ما المَوقع.

إنها طَريقة رائعة لتَسريع وقت الوصول إلى البيانات. وتحصل على إستعلام أسرع إلى جدول wp_options بدلاً من الإستعلام المعقّد والطويل إلى قاعدة البيانات. ويجدر بك إستخدام واجهة Transients API، خاصّةً أنّه بَعد إتصال ووردبريس بـ Redis أو Memcached، سَيقومون بتَخزين البَيانات من العابرين.


ذاكرة Redis للتّخزين المؤقّت في ووردبريس

يتولّى Redis تَخزين البيانات من كائن فئة ذاكرة التّخزين المؤقت لكائنات ووردبريس بعد تَوصيل ووردبريس بـ Redis. تُصبح ذاكِرة التّخزين المؤقّت للكائِن ثابِتة عند تشغيل Redis.

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


يتم دَعم Redis على جميع خوادم UltaHost. ويمكنك إختيار أي من خَدمات إستضافة UltaHost بأمان وتشغيل ذاكرة التّخزين المؤقّت Redis عليها.


وبالنسبة لإستعلامات قاعدة البيانات الأكثر تعقيدًا، سَيشهد ووردبريس أَكبر تأثير من التّخزين المؤقّت للصّفحة بإستخدام Redis. أيضًا، إذا كان لديك الكثير من السجلّات في جَدول wp_options، يُمكن لـ Redis في ووردبريس تَحسين سُرعة تَحميل الصفحة.

في المرة الأولى التي يستَعلم فيها ووردبريس عن قاعِدة البَيانات، سَيحدث هذا. وقد يستغرق البحث وقت طويل إذا كان لديه الكثير من السجلاّت والبيانات القديمة. ونحن نتجنّب البَحث في جَدول wp_options في كُل مرّة يتِم فِيها تَحميل الصّفحة عن طريق تخزين نتائج هذا الإستعلام في Redis.


الخلاصة

هل يَستحق Redis هذا العناء؟ هي لَيست قاعِدة بَيانات قِياسية خارِج الصّندوق. وليست قاعدة بيانات قياسية، ولدى المُستخدم الكثير من الحرّية في إستخدامها للمشاريع. والأمثلة التي وصفتها لَيست سِوى جُزء بَسيط ممّا هو مُمكن.

ومن الجيّد إلقاء نظرة على الوثائِق من مطوّري Redis. وستجد كافة المَعلومات المُهمّة التي ستُساعدك على تطبيق حُلول جَديدة وتَسريع عملك.

هل تَبحث عن منصّة إستضافة سَريعة بإستخدام Redis؟ UltaHost هي الخَيار المُناسب! فقم بزيادة سُرعة مواقعك وتطبيقاتك مع آلية التخزين المؤقت المُدمجة في كافّة خُطط الإستضافة. وستَحصل على دعم على مدار الساعة طوال أيّام الأسبوع مِن فَريق الدّعم لَدينا. فنحن نُركّز على التّوسع التّلقائي والأَداء والأمان مِن خِلال بُنيتنا التحتيّة القويّة. فأسمح لنا أن نُريك الفرق! ألقِ نظرة على خُططنا!

Previous Post
Digital Business Toolbox

صُندوق أدوات الأعمال الرّقمية: ست أدوات لـ بداية أعمالك

Next Post
The best image optimization plugins

أفضل الـ إضافات لتَحسين الصور

Related Posts
 25% off   Enjoy Powerful Next-Gen VPS Hosting from as low as $5.50