تعرّف على Redis وتعرّف على كيفية تحسين تطبيقات Node باستخدام مخزن البيانات القوي هذا.

عند إنشاء تطبيق ويب ، يجب أن تتأكد من أنه قابل للتطوير وفعال. للقيام بذلك ، ستحتاج إلى مراعاة العديد من المبادئ والمفاهيم.

Redis هي إحدى التقنيات العديدة التي يمكن أن تساعد في تحسين أداء تطبيقات الويب الخاصة بك. يوفر ميزات رائعة يمكنك استخدامها لتحسين أداء أي تطبيق ويب.

إذن ، ما هو Redis بالضبط ، وكيف يمكنك البدء في استخدامه مع تطبيقات الويب Node.js الخاصة بك؟

ما هو Redis ومتى يجب استخدامه؟

Redis هو مخزن بيانات مفتوح المصدر وداخل الذاكرة وذو قيمة رئيسية. إنها تقنية مرنة يمكن أن تعمل كقائمة انتظار عمل وقاعدة بيانات وذاكرة تخزين مؤقت ومدير جلسة ووسيط رسائل والمزيد.

إن الجمع بين سرعة Redis وتعدد استخداماته وسهولة استخدامه يجعله أداة قيمة للغاية في النظام البيئي لمطوري البرامج.

متى يجب استخدام Redis؟

إن Redis مناسب تمامًا للعديد من المهام ، ولكن يجب أن تكون حريصًا على استخدامه فقط عندما يكون من المنطقي القيام بذلك.

يجب أن تفكر في استخدام Redis في هذه السيناريوهات:

  • التخزين المؤقت: Redis هي الطريقة الأكثر شيوعًا لتنفيذ ذاكرة التخزين المؤقت للمساعدة في منع التحميل على قواعد البيانات وتحسين الأداء العام.
  • instagram viewer
  • إدارة الجلسة: يعد تخزين جلسات المستخدم وإدارتها للمصادقة وإدارة الحالة أمرًا سهلاً للغاية مع Redis.
  • تخزين مؤقت للبيانات: يتيح لك Redis تخزين البيانات وحذفها تلقائيًا بعد فترة زمنية محددة. هذا يجعلها أداة جيدة لتخزين البيانات المؤقتة مثل رموز الويب JSON, طوابير الوظائف، إلخ.

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

كيفية استخدام Redis مع Node.js

Node.js هي تقنية شائعة لإنشاء تطبيقات فعالة وقابلة للتطوير من جانب الخادم. يمكنك استخدامه جنبًا إلى جنب مع التقنيات الداعمة مثل Redis للحصول على أداء عالٍ وقابلية للتوسع.

يدعم Redis عدة لغات. يمكنك استخدامها لتخزين البيانات في PHP و هناك عملاء Redis ممتازون لـ Golang. أكثر عملاء Redis شيوعًا لـ Node.js هما عقدة ريديس و ioredis.

كلا الحزمتين متاحتان عبر npm وهي سهلة الاستخدام. الاختلاف الرئيسي هو ذلك عقدة ريديس هو العميل الرسمي ، بينما يوصي المجتمع ioredis.

الاتصال بـ Redis من Node.js

للبدء ، يجب أن يكون لديك Redis مثبتًا على جهاز الكمبيوتر الخاص بك ، وإعداد بيئة تطوير Node.js. تحقق من دليل التثبيت على Redis.io لتثبيت Redis على Linux و macOS و Windows.

تحتاج إلى تثبيت SDK لعميل Redis المفضل لديك في مشروعك لتتمكن من الاتصال بـ Redis. اعتمادًا على تفضيلاتك (سنستخدم ملفات عقدة ريديس) ، قم بتشغيل أي من الأمرين أدناه لتثبيت عميل Redis:

npm تثبيت redis - حفظ
npm تثبيت ioredis - حفظ

يتم تثبيت الأمر الأول عقدة ريديس، بينما يتم تثبيت الثانية ioredis.

لتهيئة العميل المثبت حديثًا ، يجب عليك التأكد من تشغيل Redis. يمكنك القيام بذلك بمجرد البدء ريديس- CLI في محطتك:

ال بينغ يقوم الأمر باختبار اتصال الخادم للتأكد من أنه يعمل ، و a PONG الاستجابة في CLI تعني أن الخادم يعمل بشكل جيد. الآن قم بإنشاء ملف redis.js ملف في مشروع Node الخاص بك واكتب الكود التالي فيه لتكوين Redis:

مقدار ثابت redis = يتطلب("redis")

// التهيئة باستخدام التكوين الافتراضي
مقدار ثابت RedisClient = redis.createClient ()

مقدار ثابت connectRedis = غير متزامن () => {
// الاتصال بـ redis
انتظر RedisClient.connect ()

// معالجة الخطأ
RedisClient.on ('خطأ'، (يخطئ) => {
وحدة التحكم.خطأ(حدث خطأ مع Redis: $ {err}`)
})

وحدة التحكم.سجل("تم توصيل Redis بنجاح ...")
}

يقوم الكود أعلاه بتهيئة عميل Redis جديد في التطبيق. ال إنشاء العميل تسمح لك وظيفة حزمة redis بإنشاء عميل باستخدام المعلمات المحددة الخاصة بك.

يمكنك تحديد المضيف أو المنفذ أو اسم المستخدم أو كلمة المرور أو سلسلة الاتصال أو استخدام القيم الافتراضية. على سبيل المثال، عقدة ريديس سيبدأ التشغيل على المضيف المحلي ، على المنفذ 6379، بشكل افتراضي.

فيما يلي طريقتان يمكنك استخدام ملف إنشاء العميل وظيفة:

// باستخدام سلسلة الاتصال
مقدار ثابت RedisClient = redis.createClient ("rediss: //127.0.0.1: 6379")

// باستخدام كائن المعلمة
مقدار ثابت RedisClient = redis.createClient ({
قابس كهرباء: {
يستضيف: "127.0.0.1",
ميناء: "6379"
},
اسم المستخدم: "اسم مستخدم redis الخاص بك",
كلمة المرور: "كلمة السر خاصتك"
})

استخدم مثيلات Redis الآمنة في الإنتاج. عندما يكون هذا هو الحال ، إما أن يكون لديك ملف URL سلسلة للاتصال أو استخدام المعلمات الموضحة أعلاه. أيًا كان الحال ، تذكر دائمًا الاحتفاظ ببيانات الاعتماد خارج التعليمات البرمجية ، واستخدام متغيرات البيئة بدلاً من ذلك.

تنفيذ عمليات Redis الأساسية في Node.js

الكود التالي يتصل بـ Redis باستخدام ملف connectRedis أعلاه وتوضح بعض العمليات الأساسية التي يمكنك إجراؤها في Redis من تطبيقات Node الخاصة بك.

مقدار ثابت testRedis = غير متزامن () => {
انتظر connectRedis ()

// تعيين واسترداد قيمة
انتظر RedisClient.set ("اسم", "تيمي")
مقدار ثابت getCommand = انتظر RedisClient.get ("اسم")
وحدة التحكم.log (getCommand)

// احذف القيم فورًا أو جدولتها لتنتهي صلاحيتها
// في عدد من الثواني
انتظر RedisClient.del ("اسم");
انتظر RedisClient.setEx ("موقع", 60, "لاغوس")

// ادفع إلى مقدمة القائمة أو خلفها
انتظر RedisClient.lPush ("أيام", "الاثنين")
انتظر RedisClient.r دفع ("أيام", "يوم الثلاثاء")
انتظر RedisClient.lPush ("أيام", "الأربعاء")
مقدار ثابت أيام Array = انتظر RedisClient.lRange ("أيام", 0, -1)
// يطبع ['الأربعاء'، 'الاثنين'، 'الثلاثاء']
وحدة التحكم.log (daysArray)

// إزالة عنصر من الجزء الخلفي أو الأمامي من القائمة
انتظر RedisClient.rPop ("أيام")
انتظر RedisClient.lPop ("أيام")
مقدار ثابت newDaysArray = انتظر RedisClient.lRange ("أيام", 0, -1)
// يطبع ['الاثنين']
وحدة التحكم.log (newDaysArray)
}

اختبار

لاحظ استخدام غير متزامن و انتظر هنا. هذا لأن جميع الوظائف تعمل بشكل غير متزامن وتعيد الوعود ، لذلك إذا كنت بحاجة إلى نتائجها على الفور ، فمن المهم أن انتظر هم.

لا يُظهر الكود أعلاه سوى بعض العمليات الأساسية التي يمكنك إجراؤها في Redis من تطبيق Node.js. هناك العديد من الأوامر والمفاهيم التي تستحق النظر فيها.

ال أوامر Redis قسم في الملف التمهيدي الموجود في عقدة ريديسجيثب يعد المستودع مكانًا جيدًا للعثور على جميع الأوامر الأخرى وما يفعلونه.

استخدم Redis لإنشاء تطبيقات فعالة

يتيح لك تسخير قوة Redis ، بصفتك مطورًا ، إنشاء تطبيقات عالية الكفاءة من جانب الخادم. من خلال تخزين البيانات في الذاكرة من Redis وهياكل البيانات والأوامر الشاملة ، يمكن للتطبيقات تحقيق تحسينات ملحوظة في الأداء.

يجب أن تفكر بالتأكيد في دمج Redis في تطبيق Node.js التالي لتحسين أداء تطبيقك وتقديم تجربة مستخدم أفضل.