دليل النشر

استضافة Redis على خادم VPS

انشر على VPS Cloud →

قواعد البيانات7 دقيقة قراءة

استضافة Redis على خادم VPS

Redis هو أداة الأداء متعددة الاستخدامات: تخزين مؤقت وجلسات وطوابير مهام وعدّادات في الوقت الفعلي وpub/sub. استضافته ذاتيًا على خادم VPS تمنحك زمن استجابة أقل من ميلي ثانية وتحكمًا كاملاً في الذاكرة، دون دفع السعر المرتفع لعروض Redis المُدارة.

لماذا تستضيف Redis ذاتيًا على خادم VPS

يعمل Redis في الذاكرة: يعتمد أداؤه مباشرة على ذاكرة RAM وزمن استجابة الشبكة. تفرض العروض المُدارة سعرًا مرتفعًا جدًا على كل غيغابايت من RAM وتضع حدودًا قصوى للاتصالات. على خادم VPS، تحدد حجم RAM وفقًا لحاجتك الفعلية، وتهيّئ بحرية maxmemory وسياسة الإخلاء (allkeys-lru وvolatile-ttl...)، وتفعّل استمرارية RDB و/أو AOF حسب درجة تحمّلك لفقدان البيانات. سواء لتخزين مؤقت تطبيقي، أو وسيط مهام (Sidekiq أو BullMQ أو Celery)، أو مخزن جلسات، فإن Redis الملاصق لتطبيقك على الشبكة الخاصة نفسها يلغي زمن الاستجابة بين مراكز البيانات ويخفّض التكلفة بشكل جذري.

الفوائد الملموسة لـ Redis مُستضاف ذاتيًا

  • زمن استجابة أقل من ميلي ثانية إذا كان Redis يعمل على خادم VPS نفسه أو الشبكة الخاصة نفسها التي يعمل عليها تطبيقك.
  • تحكم في maxmemory وسياسة الإخلاء وفقًا لاستخدامك كتخزين مؤقت أو طابور مهام.
  • استمرارية حسب اختيارك: RDB (لقطات)، أو AOF (سجل)، أو كلاهما لتحقيق المتانة.
  • تكلفة RAM دون مبالغة في الفوترة: تدفع اشتراك خادم VPS، لا سعر الغيغابايت من الذاكرة المميزة.
  • وحدات حرة: RediSearch وRedisJSON وRedisBloom حسب احتياجاتك.
  • لا حد أقصى تعسفي لعدد اتصالات العملاء المتزامنة.

المتطلبات المادية والبرمجية

بما أن Redis يعمل في الذاكرة، فإن RAM هي المهمة، لا المعالج. لتخزين مؤقت متواضع أو مخزن جلسات، يكفي معالج افتراضي واحد (1 vCPU) و1 إلى 2 غيغابايت من RAM. أما إذا كان Redis يعمل كوسيط لآلاف المهام في الطابور أو يخزّن مجموعات بيانات في الذاكرة بحجم عدة غيغابايت، فحدّد حجم RAM بما لا يقل عن ضعف قيمة maxmemory المستهدفة لاستيعاب النسخ عند الكتابة (copy-on-write) أثناء لقطات RDB. على الصعيد البرمجي: Ubuntu 22.04/24.04 LTS، وDocker وCompose v2، ووحدة تخزين دائمة لـ AOF/RDB إذا فعّلت الاستمرارية، وضبط vm.overcommit_memory=1 على المضيف لتجنّب إخفاقات fork أثناء النسخ الاحتياطي.

نشر Redis باستخدام Docker في بيئة الإنتاج

01

تهيئة المضيف

ثبّت Docker، ثم اضبط vm.overcommit_memory=1 عبر sysctl لجعل اللقطات موثوقة، وعطّل Transparent Huge Pages. أغلق المنفذ 6379 نحو الخارج: فإن Redis مكشوفًا دون كلمة مرور هدف تقليدي لمنقّبي العملات المشفّرة.

02

كتابة ملف docker-compose.yml

أعلن عن خدمة redis:7-alpine بأمر مخصص يشير إلى ملف redis.conf مركّب للقراءة فقط. فعّل requirepass، وحدّد maxmemory وmaxmemory-policy، وركّب وحدة تخزين لـ /data إذا أردت الاستمرارية.

03

تهيئة الأمان

في ملف redis.conf، عيّن كلمة مرور قوية عبر requirepass، وأعد تسمية الأوامر الخطيرة (FLUSHALL وCONFIG) أو عطّلها باستخدام rename-command، وقصر الاستماع على الشبكة الداخلية. للوصول عن بُعد، فعّل TLS الأصلي في Redis (tls-port) أو استخدم نفقًا.

04

اختيار استراتيجية الاستمرارية

لتخزين مؤقت خالص، عطّل الاستمرارية لكسب الأداء. أما لوسيط مهام حيث يكون الفقدان غير مقبول، فعّل AOF مع appendfsync everysec: وهو موازنة جيدة بين المتانة والإنتاجية. اجمع بين RDB وAOF لإعادة تشغيل سريعة وتسجيل موثوق.

05

توصيل تطبيقك

شغّل باستخدام docker compose up -d واختبر بـ docker compose exec redis redis-cli -a VOTRE_PASS ping. وجّه تطبيقك إلى شبكة Docker الداخلية بدلاً من عنوان IP عام، لتحسين زمن الاستجابة والأمان.

06

مراقبة الذاكرة

راقب used_memory وevicted_keys عبر redis-cli INFO. إذا ارتفعت عمليات الإخلاء، فزد ذاكرة RAM أو حسّن السياسة. اضبط تنبيهًا عندما يتجاوز استخدام الذاكرة 80% من maxmemory.

راقب نسبة keyspace_hits / keyspace_misses عبر INFO stats: انخفاض معدل الإصابة يعني أن تخزينك المؤقت غير محدد الحجم بشكل صحيح أو أن قيم TTL قصيرة جدًا. لأعباء العمل الحرجة، انشر Redis Sentinel على ثلاثة خوادم VPS للحصول على تجاوز فشل تلقائي: إذا سقط الخادم الرئيسي، يُرقّى تابع دون تدخّل، وتُعاد توجيه تطبيقاتك عبر خدمة Sentinel.

الوثائق الرسمية

للتهيئة المتقدمة والخيارات الخاصة بالأداة، راجع الوثائق الرسمية لـ Redis. يغطّي هذا الدليل الإطلاق على خادم VPS؛ وتبقى وثائق المطوّر المرجع للضبط الدقيق والتحديثات الكبرى وحالات الاستخدام الخاصة.

شغّل Redis بأقصى سرعة

يمنحك خادم ServOrbit Cloud VPS مع قالب Docker وذاكرة RAM مخصصة زمن الاستجابة والذاكرة اللازمين لتشغيل Redis عالي الأداء، سواء كتخزين مؤقت أو وسيط للمهام (broker).

بحاجة إلى مساعدة؟

تصفّح مركز المساعدة والأسئلة الشائعة، أو راسل فريقنا — الدعم بـ العربية والفرنسية والإنجليزية.