Redis هي قاعدة بيانات NOSQL يتم فيها تخزين البيانات في أزواج ذات قيمة مفتاحية.
يقوم Redis بتخزين البيانات على الذاكرة الرئيسية مما يعني أنها سريعة ولكنها متقلبة على عكس أنظمة قواعد البيانات مثل PostgreSQL التي تخزن البيانات على القرص.
في التطبيق الذي يحتوي على خادم وقاعدة بيانات، سيؤدي الوصول إلى المعلومات الموجودة في قاعدة البيانات إلى زمن الوصول.
غالبًا ما يتم الاحتفاظ بقواعد البيانات ذات القيمة الأساسية مثل redis أمام قواعد البيانات هذه وتستغرق عمليات الوصول خطوتين:
من خلال هاتين الخطوتين وبالنظر إلى أن الذاكرة الرئيسية لديها زمن وصول أقل من القرص، يمكننا القول أنه يمكن استخدام redis لتخزين البيانات المتكررة والحديثة والعمليات باهظة الثمن والوصول إليها، مما يجعل التطبيقات أسرع بما يتراوح بين 10 إلى 50 مرة.
إنها حقيقة أنه إذا كنت ستنشئ تطبيقًا سيكون قابلاً للتطوير في المستقبل، فلا غنى عن Redis( أو قواعد بيانات مشابهة لـ Redis).
هل Redis مفتوح المصدر؟ : نعم، Redis مفتوح المصدر بنوع خاص من الترخيص ولكن هناك بدائل مفتوحة المصدر مثل KeyDB by Snapchat وMemcached. KeyDB هو فرع من Redis ولكن حتى الآن لا يمكن تشغيله إلا على Linux.
هل يدعم Redis Windows؟ : لا، Redis لا يدعم Windows، ولكن يمكنك تثبيت WSL/Ubuntu وتثبيت redis باستخدام
sudo apt install redis
redis-server --port 6000
حيث 6000 هو المنفذ الموجود على الخادم المحلي الذي تريد تشغيله عليه. (أي 127.0.0.1:6000).
ترجع معظم المشكلات إلى حقيقة أن المنفذ الافتراضي الذي يستخدمه خادم redis قيد الاستخدام بالفعل
في Linux، يعد تثبيت redis أمرًا بسيطًا مثل
sudo apt install redis
أو على نظام Mac:
brew install redis
يجب أن يكون لديك مثيلان للمحطة الطرفية الخاصة بك على
في أول واحد يقوم بتشغيل الخادم الخاص بك
redis-server -port
وفي الخطوة الثانية لتشغيل عميلك
redis-cli
عند إنشاء تطبيق ويب، لا تحتاج إلى تشغيل العميل ولكن يجب تشغيل الخادم
مفاهيم ريديس
هناك 3 مفاهيم رئيسية في redis يجب أن تفهمها أو 4
جميع هياكل البيانات الأخرى هي في الأساس تطبيق متقدم للأول
بواسطة list، كنت أقصد array وليس قائمة مرتبطة وهذا ما يطلق عليه redis.
تعتبر أزواج القيمة الأساسية بنية بيانات شائعة في معظم لغات البرمجة.
في بايثون تسمى القواميس أو الإملاء باختصار
في جافا سكريبت يطلق عليه الخرائط
في لغة C# تسمى القواميس
هناك 6 عمليات رئيسية لأزواج القيمة الرئيسية في Redis
العمليات | الشرح | أمثلة | مزيد من الشرح |
---|---|---|---|
تعيين | إنشاء زوج من القيمة الرئيسية | تعيين الاسم جون | يعين المفتاح لتعيين القيمة |
يحصل | يحصل على قيمة للمفتاح | الحصول على الاسم | يؤدي هذا إلى إرجاع جون |
ديل | حذف زوج القيمة الرئيسية | اسم DEL | يؤدي هذا إلى إزالة اسم زوج القيمة الرئيسية من قاعدة البيانات |
موجود | التحقق من وجود مفتاح في قاعدة بيانات redis | الاسم موجود | إرجاع 1 أو 0 المطابق لـ True أو False |
فلوشال | مسح ذاكرة التخزين المؤقت بالكامل | فلوشال | يشبه إلى حد ما DROP TABLE في postgres |
المفاتيح * | إرجاع جميع المفاتيح في قاعدة البيانات | المفاتيح * |
هناك أيضًا عمليات تعتمد على الوقت. في العمليات المستندة إلى الوقت، يكون المفتاح موجودًا فقط في ذاكرة التخزين المؤقت لفترة زمنية محددة، وبعد انتهاء الوقت، تقوم ذاكرة التخزين المؤقت بحذف المفتاح.
هناك عمليتان رئيسيتان تعتمدان على الوقت
العمليات | الشرح | أمثلة | مزيد من الشرح |
---|---|---|---|
انتهاء الصلاحية | تنتهي صلاحية المفتاح بعد تعريفه | اسم انتهاء الصلاحية 10 | يحذف اسم قيمة المفتاح بعد 10 ثوانٍ. يجب تعريف المفتاح باستخدام SET قبل استدعاء EXPIRE. البديل الشائع هو؛ |
سيتكس | تنتهي صلاحية المفتاح عند التعريف | سيتيكس العمر 30 15 | تعيين عمر المفتاح على القيمة 30 وبعد ذلك حذف زوج المفتاح والقيمة بعد 15 ثانية |
TTL | وقت العيش | عمر TTL | إرجاع الوقت المتبقي قبل حذف مفتاح العمر |
المدونة أصبحت طويلة جدًا الآن، سأتحدث عن القوائم، المجموعات، خرائط التجزئة وأيضًا أسئلة المقابلة المحتملة حول redis في مدونة أخرى.
من فضلك إذا كانت لديك أسئلة، يرجى التعليق عليها أدناه، وسأبذل قصارى جهدي للإجابة عليها ⭐. البرمجة السعيدة
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3