الإصدار الجديد من Redis، الإصدار 8.8، متاح الآن على GitHub. من بين ميزاته الجديدة، هيكل بيانات يُسمى Array، مصمم للعمليات السريعة حسب الموضع النسبي. بالإضافة إلى ذلك، يتضمن تحسينات في الأداء مثل تفعيل LTO افتراضيًا على x86_64، واستخدام أكثر كفاءة للخيوط، وكود بلغة Rust لتقليل الحمل الزائد لـ FFI، وتحسينات لـ ARM64، والتحميل المسبق على دفعات. تحديث يهدف إلى الكفاءة دون لف أو دوران.
تفاصيل تقنية للهيكل الجديد والتحسينات 🚀
يتيح هيكل Array الوصول إلى العناصر وتعديلها بناءً على موضعها في المجموعة، وهو أمر مفيد لقوائم الانتظار أو قوائم الأولوية. التجميع مع LTO (تحسين وقت الربط) على x86_64 يقلل حجم الملف الثنائي ويحسن سرعة التنفيذ. كود Rust الجديد يحل محل الأجزاء الحرجة من FFI، مما يزيل الاختناقات في التواصل بين اللغات. على ARM64، تم ضبط تعليمات محددة للخوادم منخفضة الاستهلاك. التحميل المسبق على دفعات يسرع تحميل البيانات في الذاكرة أثناء بدء التشغيل.
المطورون لديهم أيضًا مشاعر (ومواعيد نهائية) 😅
لطالما طالب المجتمع لسنوات بهيكل بيانات ليس مجرد تجزئة أو قائمة بسيطة. الآن بعد وصول Array، بالتأكيد سيستخدمه شخص ما لتخزين قوائم التسوق أو ترتيب إعادة التعبئة في الثلاجة. ما يخص Rust يعد بتقليل الحمل الزائد لـ FFI، على الرغم من أن هناك دائمًا من يعتقد أن المشكلة لم تكن في FFI، بل في آلة القهوة. وأما تفعيل LTO افتراضيًا: أخيرًا يمكننا تجميع Redis أثناء انتظار القهوة، وليس التقاعد.