دليل عملي

قواعد البيانات

‏Valkey مقابل Redis في 2026 : المقارنة ودليل الترحيل

‏في عام 2024، أحدث انتقال Redis إلى رخصتي RSALv2 وSSPLv1 زلزالًا في النظام البيئي مفتوح المصدر. استجابت Linux Foundation، بدعم من AWS وGoogle Cloud وOracle وEricsson وSnap، بإنشاء Valkey، وهو توليف مرخص بـ BSD تديره مجموعة من المساهمين. منذ ذلك الحين، تراجع Redis بإضافة AGPLv3 مع Redis 8 في مايو 2025 — إشارة إيجابية، لكن AGPLv3 نسخة قوية من الـ copyleft. صدر Valkey 9.1 في مايو 2026 وهو الفرع المستقر الحالي؛ اعتمدته Fedora بدلًا من Redis، وتوفّره Debian وUbuntu في مستودعاتهما الرسمية. يغطي هذا الدليل الفروق الحقيقية — البروتوكول وتنسيق البيانات وواجهة الوحدات والمكتبات والإعدادات — ويساعدك على الاختيار والترحيل في أربع خطوات.

12 دقيقةً للقراءةعدد الخطوات: 4
المحتويات· ‏لماذا يعود جدال Redis/Valkey في 20261/11
  1. 01‏لماذا يعود جدال Redis/Valkey في 2026
  2. 02‏Redis مقابل Valkey : الفروق الأساسية في 2026
  3. 03‏توافق البروتوكول : RESP2 وRESP3
  4. 04‏تنسيقات البيانات : RDB وAOF متوافقان حتى Redis 7.2
  5. 05‏واجهة الأوامر : ما يتطابق وما يختلف
  6. 06‏الإعدادات : المعاملات التي يجب التحقق منها عند التبديل
  7. 07‏مكتبات العميل : ما لا تحتاج إلى تغييره
  8. 08‏متى تختار Valkey بدلاً من Redis
  9. 09‏الترحيل من Redis إلى Valkey في 4 خطوات
  10. 10‏ما لا يتغير في الترحيل من Redis إلى Valkey
  11. 11‏وماذا عن قواعد البيانات الأخرى على VPS؟

‏لماذا يعود جدال Redis/Valkey في 2026

‏في مارس 2024، أعلنت Redis Ltd. أن الشيفرة ستُنشر بدءًا من Redis 7.4 بترخيص مزدوج RSALv2 وSSPLv1، وكلتاهما غير معتمدة من OSI. جاءت الاستجابة فورية: أطلقت Linux Foundation مشروع Valkey بدعم من AWS وGoogle Cloud وOracle وEricsson وSnap. انطلق التوليف من Redis 7.2.4 تحت رخصة BSD. في مايو 2025، أضاف Redis 8 رخصة AGPLv3 المعتمدة من OSI خيارًا إلى جانب الرخصتين الأخريين — إشارة إيجابية، لكن AGPLv3 copyleft قوي: من يعدّل Redis ويتيحه للمستخدمين عبر الشبكة يجب أن ينشر الشيفرة المصدرية لتعديلاته. في غضون ذلك، استبدلت Fedora ‏Redis بـ Valkey منذ Fedora 41، وتوفّر ‏Debian 13‏ و‏Ubuntu 24.04‏ حزمة valkey-server في مستودعاتهما الرسمية.

‏Redis مقابل Valkey : الفروق الأساسية في 2026

مرّر الجدول أفقيًا

المعيارRedis 8 (AGPLv3 أو RSALv2 أو SSPLv1)Valkey 9.1 (BSD)
الرخصة‏AGPLv3 خيارًا — copyleft قوي؛ وRSALv2 وSSPLv1 تقيّدان تقديمه خدمةً مُدارة‏BSD ثلاثية البنود — مرنة، استخدام تجاري حر
الأداءمرجع تاريخي‏مماثل — قِسه على حمل عملك باستخدام `valkey-benchmark`
توافق البروتوكول‏100% بروتوكول Redis‏100% بروتوكول Redis — استبدال شفاف
دعم التوزيعاتحزمة `redis-server` في Debian وUbuntu‏يحلّ محل Redis في Fedora 41+‏؛ وحزمة `valkey-server` في Debian 13 وUbuntu 24.04
الوحدات‏JSON والبحث والسلاسل الزمنية والأنواع الاحتمالية مدمجة في Redis 8واجهة وحدات متوافقة؛ ووحدات رسمية valkey-json وvalkey-bloom وvalkey-search
اعتماد السحابة‏Redis Cloud، العرض المُدار من الناشر‏متاح في AWS ElastiCache وGoogle Cloud Memorystore
الأنسب لـالمشاريع القائمة التي تعتمد وحدات Redis Stackالمشاريع الجديدة ومزودو الاستضافة والتوزيعات الحديثة

‏توافق البروتوكول : RESP2 وRESP3

‏يُعدّ البروتوكول أكثر المواضيع بحثاً قبل الترحيل. يُطبّق Valkey بروتوكول Redis Serialization Protocol بنسبة 100% في إصداريه.

‏RESP2 (البروتوكول التاريخي) مدعوم بالكامل. جميع مكتبات العميل الموجودة — ioredis وPredis وredis-py وJedis وStackExchange.Redis — تتواصل مع Valkey دون تعديل في الشيفرة أو الإعدادات.

‏RESP3 (المُقدَّم مع Redis 6.0) مدعوم أيضاً في Valkey 9.1. يجلب هذا البروتوكول أنواع استجابة غنية — maps وsets ومضاعفات وقيم منطقية وسمات — تتيح للعملاء الحديثين تقليل رحلات التحليل. المكتبات التي تُفعّل RESP3 افتراضياً (ioredis 6 وredis-py 8) تعمل دون تعديل مع Valkey.

‏تنسيقات البيانات : RDB وAOF متوافقان حتى Redis 7.2

‏تنسيق ملفات الثبات هو النقطة الحاسمة الأخرى في الترحيل، وهنا يهمّ الإصدار الذي تنطلق منه. Valkey متوافق مع Redis OSS 7.2 وكل الإصدارات المفتوحة المصدر السابقة؛ أما بدءًا من Redis 7.4 فملفات البيانات لم تعد متوافقة.

‏RDB: يقرأ Valkey ملفات RDB حتى الإصدار 11، وهو إصدار Redis 7.2. يُستورد ملف dump.rdb الناتج عن Redis 7.2 أو ما قبله مباشرةً إلى Valkey 9.1 بوضعه في مجلد dir الخاص بـ Valkey قبل التشغيل. يكتب Redis 7.4 وRedis 8 ملفات RDB من الإصدار 12 فما فوق، ويرفضها Valkey افتراضيًا؛ ويحاول الخيار rdb-version-check relaxed تحميلها قدر الإمكان، ويتوقف عند أول بيانات غير معروفة. انطلاقًا من هذه الإصدارات، اعتمد ترحيلًا مفتاحًا بمفتاح (MIGRATE أو أداة مخصّصة) أو اترك الذاكرة المؤقتة تُعاد بناؤها.

‏AOF: حتى Redis 7.2، تنسيق سجل AOF هو نفسه في Valkey. إذا كنت تستخدم ثبات AOF أو الوضع المختلط (aof-use-rdb-preamble yes) على هذه الإصدارات، تقرأ Valkey ملفاتك الحالية دون تعديل.

‏تنسيق البيانات في الذاكرة: هياكل بيانات Valkey — strings وhashes وlists وsets وsorted sets وstreams وHyperLogLog وbitmaps وgeospatial — هي نفسها الموجودة في Redis، وقد تتطور ترميزاتها الداخلية من إصدار إلى آخر دون أثر على العميل.

‏واجهة الأوامر : ما يتطابق وما يختلف

‏يدعم Valkey كامل مجموعة أوامر Redis 7.2. الفئات الرئيسية — strings وhashes وlists وsets وsorted sets وstreams وpub/sub والمعاملات وسكريبتات Lua وإشعارات keyspace والعنقود — تعمل بشكل متطابق.

‏سكريبتات Lua: يدعم Valkey الأوامر EVAL وEVALSHA وSCRIPT LOAD. تعمل سكريبتات Lua المكتوبة لـ Redis دون تعديل على Valkey. الدالة redis.call() متاحة، كما أضاف Valkey فضاء الأسماء server (server.call()) للسكريبتات الجديدة.

‏عنقود الخوادم: بروتوكول Gossip وأوامر إدارة العنقود (CLUSTER INFO وCLUSTER NODES…) متطابقة.

‏قوائم التحكم بالوصول ACL: تنسيق القواعد متطابق. يمكن إعادة تحميل ملف aclfile المُصدَّر من Redis في Valkey مباشرةً.

‏ما يختلف: وحدات Redis Stack — RedisJSON وRediSearch وRedisTimeSeries وRedisBloom — المدمجة في Redis 8 لا تأتي مع Valkey. ينشر Valkey وحداته الرسمية الخاصة: valkey-json (JSON.*) وvalkey-bloom (BF.*) وvalkey-search (FT.*، البحث المتجهي)، لكن الواجهة ليست مضمونة التطابق ولا توجد وحدة رسمية بديلة لـ RedisTimeSeries. إذا كانت شيفرتك تستدعي أوامر مثل JSON.SET أو FT.SEARCH، فاختبر كل أمر قبل الترحيل.

‏الإعدادات : المعاملات التي يجب التحقق منها عند التبديل

‏صياغة valkey.conf مطابقة لـ redis.conf. يمكنك نسخ ملف الإعدادات الحالي دون إعادة كتابة. بعض النقاط تستوجب تحققاً خاصاً.

‏المسارات الافتراضية: يستخدم Valkey المسار /etc/valkey/valkey.conf و/var/lib/valkey/ بدلاً من /etc/redis/. حدّث التوجيهات dir وlogfile وpidfile.

‏اسم خدمة systemd: الخدمة تُسمى valkey-server على Debian وUbuntu (مع الاسم البديل valkey) وvalkey على Fedora. الأمر هو systemctl start valkey-server.

‏TLS: يدعم Valkey TLS على اتصالات العميل بشكل مطابق لـ Redis 6+. إذا فعّلت TLS في Redis، يعمل نفس الإعداد في Valkey دون تعديل عملاءك.

‏maxmemory وسياسات الإخلاء: سياسات الإخلاء (allkeys-lru وvolatile-lru…) متطابقة. تنتقل سياستك الحالية مباشرةً.

‏مكتبات العميل : ما لا تحتاج إلى تغييره

‏هذه إحدى نقاط قوة Valkey: لا تحتاج أي مكتبة عميل إلى تعديل للاتصال بـ Valkey. نظراً لتطابق البروتوكول، لا يعرف العميل ما إذا كان يتحدث إلى Redis أم Valkey.

‏JavaScript / Node.js: ioredis وnode-redis وredis — كلها تعمل. غيّر المضيف والمنفذ فقط في إعدادات الاتصال.

‏Python: redis-py وعميله غير المتزامن redis.asyncio الذي يحلّ محل aioredis — متوافقان. الاتصال Redis(host='valkey-host', port=6379) يعمل دون أي تغيير آخر.

‏PHP: phpredis وPredis — متوافقتان. لا تغييرات في الشيفرة.

‏Java: Jedis وLettuce وRedisson — متوافقة.

‏‎.NET: StackExchange.Redis — متوافق.

‏Go: go-redis وrueidis — متوافقان.

‏إذا كنت تستخدم طبقة تجريد مثل Laravel Cache أو Django django-redis أو Spring Data Redis، فهذه الطبقات تعيد الاتصال بـ Valkey دون تغيير في الشيفرة — فقط سلسلة الاتصال تتغير.

‏متى تختار Valkey بدلاً من Redis

‏تفرض Valkey نفسها بطبيعة الحال في سياقات عدة. مزودو الاستضافة والموزعون هم الأكثر تأثراً: تُلزم AGPLv3 الخاصة بـ Redis بنشر التعديلات المُدخلة على Redis متى قُدّم عبر الشبكة، وتقيّد رخصتاه الأخريان (RSALv2 وSSPLv1) تقديمه خدمةً مُدارة، وهي قيود يصعب التوفيق بينها وبين معظم العروض التجارية. لدى المشاريع الجديدة التي لا تحتاج وحدات Redis 8 أسباب قليلة للبدء بـ Redis: Valkey متاحة في مستودعات التوزيعات الحديثة ورخصتها BSD بلا قيود. كذلك تستفيد البيئات ذات متطلبات RGPD والسيادة من حوكمة Linux Foundation الأكثر حيادية. أخيرًا، إن كنت تنطلق من Redis 7.2 أو ما قبله ولا تستخدم وحدات Redis Stack، فالترحيل شفاف تمامًا.

‏الترحيل من Redis إلى Valkey في 4 خطوات

  1. التحقق من التوافق

    ‏شغّل redis-cli INFO server | grep redis_version لتحديد إصدارك الحالي. أدرج تبعياتك وتأكد من عدم استخدام أي منها وحدات Redis Stack (RedisJSON وRediSearch وRedisTimeSeries). إذا كان الأمر كذلك، فالترحيل المباشر غير موصى به بعد. بعد Redis 7.2 (‏7.4 و8.x)، لا يستطيع Valkey قراءة ملفات RDB وAOF: خطّط لترحيل مفتاحًا بمفتاح. تحقق أيضاً من سكريبتات Lua: redis.call() تظل متوافقة.

  2. ‏تثبيت Valkey

    ‏على Ubuntu 24.04+‏ وDebian 13، Valkey متاحة في المستودعات الأصلية: apt install valkey-server (يوفّر Ubuntu 24.04 الفرع 7.2 وDebian 13 الفرع 8.1). على Fedora 41+، dnf install valkey. لإصدار أحدث، استخدم الملفات التنفيذية الرسمية أو صورة Docker ‏valkey/valkey المنشورة على valkey.io. تُثبّت الحزمة valkey-server، ومعها عبر التبعيات valkey-cli وvalkey-benchmark.

  3. نسخ الإعدادات والبيانات

    ‏صياغة الإعدادات متطابقة. انسخ ملفك وحدّث المسارات: cp /etc/redis/redis.conf /etc/valkey/valkey.conf، ثم عدّل dir وlogfile وpidfile للإشارة إلى /var/lib/valkey/. صدّر بيانات Redis عبر لقطة RDB (redis-cli --rdb /tmp/dump.rdb) ثم ضع الملف في مجلد dir الخاص بـ Valkey. إن كان AOF مفعّلًا في إعدادات Valkey، فعطّله (appendonly no) عند التشغيل الأول وإلا فلن يُستورد ملف RDB، ثم أعد تفعيله (valkey-cli CONFIG SET appendonly yes). ولتفادي الانقطاع، اجعل Valkey نسخة متماثلة من Redis (REPLICAOF <ip-redis> 6379، مع masterauth إن كان Redis يطلب كلمة مرور)، ثم REPLICAOF NO ONE بعد التبديل.

  4. ‏تشغيل Valkey والتحقق

    ‏شغّل الخدمة (systemctl start valkey-server، أو valkey على Fedora)، ثم تحقق بـ valkey-cli ping — يجب أن تحصل على PONG. تحقق من وجود بياناتك بـ valkey-cli DBSIZE وقارن مع عدد المفاتيح في نسخة Redis القديمة. اختبر تطبيقك على بعض الطلبات التمثيلية قبل الانقطاع عن Redis. جميع مكتبات العميل (ioredis وPredis وredis-py) متوافقة — غيّر مضيف الاتصال فقط.

‏يتضمن Valkey أداة valkey-benchmark المطابقة وظيفياً لـ redis-benchmark. قبل أي ترحيل إلى الإنتاج، تحقق من الأداء على أجهزتك بـ valkey-benchmark -n 100000 -q. ترسل هذه الأمر 100,000 طلب وتعرض ملخص عمليات/ثانية لكل نوع من الأوامر. قارن الأرقام بأرقام نسخة Redis القديمة على نفس الخادم. ولاختبار الطلبات المتتابعة (pipelining) أو RESP3، أضف الخيار -P 16 أو -3.

‏ما لا يتغير في الترحيل من Redis إلى Valkey

  • ‏جميع مكتبات العميل (ioredis وredis-py وPredis وJedis وStackExchange.Redis وgo-redis) — لا تغييرات في الشيفرة
  • ‏بروتوكول الاتصال: RESP2 وRESP3 مدعومان بالكامل
  • ‏ملفات الثبات RDB وAOF إن كانت من Redis 7.2 أو ما قبله — قابلة للقراءة بواسطة Valkey دون تحويل
  • ‏صياغة redis.conf — انسخ الملف وحدّث المسارات
  • ‏سكريبتات Lua — redis.call() تعمل، وserver.call() متاح إضافةً
  • ‏قواعد ACL المُصدَّرة من Redis — تُعاد في Valkey مباشرةً
  • ‏إعدادات TLS وسياسات إخلاء الذاكرة وإشعارات keyspace
  • ‏أوامر redis-cli المعتادة — valkey-cli تقبلها جميعاً

‏وماذا عن قواعد البيانات الأخرى على VPS؟

‏Valkey ليست سوى قطعة واحدة من بيئة البيانات لديك. إن كنت تستضيف أيضاً قاعدة بيانات علائقية، راجع دليلنا حول MariaDB على VPS : الإعداد والأداء والنسخ. لمحرك البحث full-text، يغطي دليل Elasticsearch على VPS التثبيت وضبط الذاكرة والفهارس في الإنتاج. كل مكوّن يستحق إعداداً ملائماً لحمل العمل لديك — VPS السحابية لدينا تمنحك سيطرة كاملة على بيئتك.

‏انشر Valkey على VPS متحكَّم فيه

‏تمنحك VPS السحابية لدينا وصولاً root كاملاً لتثبيت Valkey وإعداد بيئة البيانات وتحسين الأداء وفق احتياجاتك الحقيقية. بلا طبقة احتكارية، بلا قيود على الرخصة.