Redis من أكثر الأدوات حضورًا في البنية الخلفية الحديثة: تجده خلف التخزين المؤقت، وجلسات المستخدمين، ولوحات الصدارة، وأنظمة الرسائل. هذه الصفحة هي المرجع التأسيسي لمسار Redis؛ هدفها أن تفهم لماذا هو سريع ولماذا نستخدمه قبل تعلّم أوامره.
ما هو Redis؟
Redis (اختصار لـ Remote Dictionary Server) هو مخزن بيانات في الذاكرة (In-Memory) من نوع مفتاح-قيمة (Key-Value). يحفظ البيانات أساسًا في ذاكرة الوصول العشوائي (RAM) بدل القرص، ويتعامل معها ببنى بيانات غنيّة (نصوص، قوائم، مجموعات، وغيرها).
يُستخدم غالبًا إلى جانب قاعدة بياناتك الرئيسية لا بديلًا عنها: قاعدة البيانات تحفظ الحقيقة الدائمة، وRedis يسرّع ما يُقرأ أو يُكتب كثيرًا.
لماذا التخزين في الذاكرة سريع؟
الفرق في السرعة بين الذاكرة والقرص هائل: قراءة من RAM تُقاس بالميكروثانية، ومن قرص تقليدي بالمللي ثانية — فارق بآلاف المرّات.
لهذا يُستخدم Redis كطبقة تخزين مؤقت (Cache): بدل أن يضرب تطبيقك قاعدة البيانات في كل طلب متكرّر، يحفظ النتيجة في Redis ويجيب المرّات التالية من الذاكرة مباشرةً، فيقلّ زمن الاستجابة ويخفّ الحمل عن قاعدة البيانات.
ℹ️ «في الذاكرة» لا يعني بالضرورة «يضيع عند إعادة التشغيل»؛ لدى Redis آليات ديمومة (Persistence) تحفظ نسخة على القرص، وسنفصّلها في صفحة مستقلّة.
استخداماته الشائعة
- التخزين المؤقت (Caching): تسريع القراءات المتكرّرة وتخفيف الحمل عن قاعدة البيانات.
- مخزن الجلسات (Session Store): حفظ جلسات المستخدمين بوصول سريع.
- تحديد المعدّل (Rate Limiting): عدّ الطلبات ضمن نافذة زمنية بكفاءة.
- لوحات الصدارة (Leaderboards): ترتيب فوري بفضل المجموعات المرتّبة.
- النشر/الاشتراك (Pub/Sub): تمرير رسائل بين أجزاء النظام لحظيًا.
Redis مقابل قاعدة البيانات التقليدية
Redis سريع جدًا، لكن هذا لا يجعله بديلًا شاملًا:
- السعة: البيانات في RAM، وهي أغلى وأقلّ من مساحة القرص؛ لا يناسب تخزين كل شيء.
- النموذج: مفتاح-قيمة ببنى بسيطة، لا استعلامات علائقية معقّدة كما في قواعد البيانات مثل SQL أو MongoDB.
- الدور: الأفضل أن تراه مسرّعًا وطبقة مساعدة إلى جانب قاعدة بياناتك الأساسية، لا مستودعًا دائمًا وحيدًا لكل بياناتك.
ما الذي يجب أن تفهمه قبل المتابعة
تأكّد أنك تستطيع شرح: معنى «في الذاكرة» ولماذا يمنح السرعة، الفرق بين دور Redis ودور قاعدة البيانات الرئيسية، ومتى يكون التخزين المؤقت مفيدًا.
الخطوات التالية في المسار: أنواع بيانات Redis: النصوص والقوائم والمجموعات والجداول، ثم تثبيت Redis واستخدامه للتخزين المؤقت وكمخزن جلسات، فالديمومة (RDB مقابل AOF).