هل احتجت يوما لحساب عدد المشاهدات لملف معين؟ أو عدد الطلبات لصفحة ما؟ أو قد تحتاج إلى تعديل رصيد مستخدم سواء كان خصما من الرصيد او إضافة؟

قد يضطرك الأمر إلى تخزين عدد الطلبات في قاعدة البيانات، أو تخزينها بالذاكرة ثم فقدانها في حال إعادة تشغيل الخادم!! هنا تأتي بعد الحلول التي تسمى بالتخزين داخل الذاكرة (in-memory caching) التي توفر الجهد وتضمن الحفاظ على البيانات من الضياع، وإحدى أشهر هذه الحلول هي Redis

إذا ما هي Redis؟

Redis (Remote Dictionary Server) هي برنامج مفتوح المصدر وتستخدم كمخزن للبيانات في الذاكرة العشوائية، قد يتبادر إلى ذهنك: ألن افقد بياناتي في حال تم إطفاء الخادم؟ الجواب هنا هو: لا، لأن Redis تقوم بتخزين البيانات على القرص الصلب من أجل استرجاعها في حال إعادة تشغيل النظام.

 

لماذا Redis؟

 

  1. السرعة والثبات.
  2. سهولة التثبيت والاستخدام.
  3. تخزن البيانات على شكل اسم وقيمة، حيث يستخدم االاسم في استرجاع، تحديث او حتى حذف القيمة المرتبطة به.
  4. تدعم Redis عدة أنماط من البيانات، كالقوائم (List)، النصوص (Strings)، الجغرافية المكانية (Geolocation) وغيرها
  5. القدرة على معالجة عدة طلبات قراءة متزامنة.
  6. القدرة على الحفاظ على البيانات من الضياع.
  7. الحرية في تخزين القيم بغض النظر عن بنيتها (Schemaless)
  8. تدعم الكثير من لغات البرمجة مثل: C, C++, C#, Perl, Python, R, Ruby, Java, Erlang وغيرها الكثير.

  
من يستخدم Redis؟


تستخدم Redis في العديد من الشركات الرائدة والعملاقة في مجال تقنية المعلومات ك Github, Pinterest, Snapchat, StackOverFlow, Craigslist


تطبيق بسيط على Redis


استخدمت في هذا المثال لغة C# ومكتبة StackExchange.Redis. بعد تثبيت Redis سوف تقوم بالاستماع الى المنفذ 6379 وهو القيمة الافتراضية لها.

بداية سنقوم باستخدام بعض الأوامر المفيدة مثل Keys لسرد المفاتيح المخزنة كما في الصورة (1)

Redis-1

 

لإضافة قيمة جديدة سنستخدم الأمر SET كما في الصورة (2)

Redis-2

 
من أجل استرجاع قيمة مفتاح معين سنحتاج الأمر GET كما في الصورة (3)

Redis-3

 

الآن سوف نستخدم C# للقيام بنفس العمليات السابقة كما في الصورة (4)

Redis-4

بالنهاية تقدم Redis قراءة وكتابة عالية الأداء وفعالة. لقد تطرقنا إلى أوامر Redis الأساسية في هذه المقالة وكيفية استخدامها في تطبيقنا. وتم ذكر التعليمات للقيام بذلك باستخدام #C سابقًا.

 

تحتاج الكود؟ هنا
 

Comments

Carloscor

I can recommend.

إضافة تعليق جديد

This question is for testing whether or not you are a human visitor and to prevent automated spam submissions.