"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > ريديس

ريديس

تم النشر بتاريخ 2024-11-06
تصفح:191

Redis

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

ملخص

في التطبيق الذي يحتوي على خادم وقاعدة بيانات، سيؤدي الوصول إلى المعلومات الموجودة في قاعدة البيانات إلى زمن الوصول.

غالبًا ما يتم الاحتفاظ بقواعد البيانات ذات القيمة الأساسية مثل redis أمام قواعد البيانات هذه وتستغرق عمليات الوصول خطوتين:

  1. إذا كانت المعلومات موجودة في ذاكرة التخزين المؤقت، تضغط ذاكرة التخزين المؤقت، يستعيد التطبيق المعلومات من redis ويرسلها إلى العميل
  2. إذا لم يكن الأمر كذلك، فقدت ذاكرة التخزين المؤقت، يأخذ التطبيق المعلومات من قاعدة البيانات، ويرسلها إلى العميل ويخزنها في ذاكرة التخزين المؤقت.

من خلال هاتين الخطوتين وبالنظر إلى أن الذاكرة الرئيسية لديها زمن وصول أقل من القرص، يمكننا القول أنه يمكن استخدام redis لتخزين البيانات المتكررة والحديثة والعمليات باهظة الثمن والوصول إليها، مما يجعل التطبيقات أسرع بما يتراوح بين 10 إلى 50 مرة.

إنها حقيقة أنه إذا كنت ستنشئ تطبيقًا سيكون قابلاً للتطوير في المستقبل، فلا غنى عن Redis( أو قواعد بيانات مشابهة لـ Redis).


أسئلة

  1. هل Redis مفتوح المصدر؟ : نعم، Redis مفتوح المصدر بنوع خاص من الترخيص ولكن هناك بدائل مفتوحة المصدر مثل KeyDB by Snapchat وMemcached. KeyDB هو فرع من Redis ولكن حتى الآن لا يمكن تشغيله إلا على Linux.

  2. هل يدعم Redis Windows؟ : لا، Redis لا يدعم Windows، ولكن يمكنك تثبيت WSL/Ubuntu وتثبيت redis باستخدام

sudo apt install redis
  1. أنا أستخدم WSL، لماذا لا يعمل خادم redis على نظامي: عند التشغيل على WSL، يمكنك تشغيل خادم redis باستخدام
redis-server --port 6000

حيث 6000 هو المنفذ الموجود على الخادم المحلي الذي تريد تشغيله عليه. (أي 127.0.0.1:6000).

ترجع معظم المشكلات إلى حقيقة أن المنفذ الافتراضي الذي يستخدمه خادم redis قيد الاستخدام بالفعل

  1. هل توجد مكتبات عملاء لـ Redis؟: في الواقع نعم. يمكنك العثور عليها على موقع Redis أو يمكنك إنشاء واحدة بنفسك.

تثبيت ريديس

في Linux، يعد تثبيت redis أمرًا بسيطًا مثل

sudo apt install redis

أو على نظام Mac:

brew install redis

تشغيل ريديس

يجب أن يكون لديك مثيلان للمحطة الطرفية الخاصة بك على

في أول واحد يقوم بتشغيل الخادم الخاص بك

redis-server -port 

وفي الخطوة الثانية لتشغيل عميلك

redis-cli

عند إنشاء تطبيق ويب، لا تحتاج إلى تشغيل العميل ولكن يجب تشغيل الخادم

مفاهيم ريديس

هناك 3 مفاهيم رئيسية في redis يجب أن تفهمها أو 4

  1. أزواج القيمة الرئيسية
  2. القوائم
  3. مجموعات
  4. التجزئة

جميع هياكل البيانات الأخرى هي في الأساس تطبيق متقدم للأول

بواسطة list، كنت أقصد array وليس قائمة مرتبطة وهذا ما يطلق عليه redis.


أزواج القيمة الرئيسية

تعتبر أزواج القيمة الأساسية بنية بيانات شائعة في معظم لغات البرمجة.

  1. في بايثون تسمى القواميس أو الإملاء باختصار

  2. في جافا سكريبت يطلق عليه الخرائط

  3. في لغة C# تسمى القواميس

هناك 6 عمليات رئيسية لأزواج القيمة الرئيسية في Redis

العمليات الشرح أمثلة مزيد من الشرح
تعيين إنشاء زوج من القيمة الرئيسية تعيين الاسم جون يعين المفتاح لتعيين القيمة
يحصل يحصل على قيمة للمفتاح الحصول على الاسم يؤدي هذا إلى إرجاع جون
ديل حذف زوج القيمة الرئيسية اسم DEL يؤدي هذا إلى إزالة اسم زوج القيمة الرئيسية من قاعدة البيانات
موجود التحقق من وجود مفتاح في قاعدة بيانات redis الاسم موجود إرجاع 1 أو 0 المطابق لـ True أو False
فلوشال مسح ذاكرة التخزين المؤقت بالكامل فلوشال يشبه إلى حد ما DROP TABLE في postgres
المفاتيح * إرجاع جميع المفاتيح في قاعدة البيانات المفاتيح *

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

هناك عمليتان رئيسيتان تعتمدان على الوقت

العمليات الشرح أمثلة مزيد من الشرح
انتهاء الصلاحية تنتهي صلاحية المفتاح بعد تعريفه اسم انتهاء الصلاحية 10 يحذف اسم قيمة المفتاح بعد 10 ثوانٍ. يجب تعريف المفتاح باستخدام SET قبل استدعاء EXPIRE. البديل الشائع هو؛
سيتكس تنتهي صلاحية المفتاح عند التعريف سيتيكس العمر 30 15 تعيين عمر المفتاح على القيمة 30 وبعد ذلك حذف زوج المفتاح والقيمة بعد 15 ثانية
TTL وقت العيش عمر TTL إرجاع الوقت المتبقي قبل حذف مفتاح العمر

المدونة أصبحت طويلة جدًا الآن، سأتحدث عن القوائم، المجموعات، خرائط التجزئة وأيضًا أسئلة المقابلة المحتملة حول redis في مدونة أخرى.

من فضلك إذا كانت لديك أسئلة، يرجى التعليق عليها أدناه، وسأبذل قصارى جهدي للإجابة عليها ⭐. البرمجة السعيدة

بيان الافراج تم نشر هذه المقالة على: https://dev.to/ezekiel_77/redis-3njh?1 إذا كان هناك أي انتهاك، يرجى الاتصال بـ [email protected] لحذفه
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3