0Pricing
C# Academy · درس

الاتصال بـ Redis

هيّئوا ذاكرة Redis المؤقتة الموزّعة

الاتصال بـ Redis درس مجاني في C# Academy على CoddyKit. هذا هو الدرس 2 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في C# Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة C# Academy 4 دروس في المجموع.

ما هو Redis؟

إن Redis مخزن سريع للبيانات من نوع مفتاح-قيمة موجود في الذاكرة، ويُستخدم على نطاق واسع بوصفه ذاكرة تخزين مؤقت موزعة. وهو يعمل كخادم مستقل تتصل به عدة نسخ من التطبيق عبر الشبكة.

تثبيت الحزمة

تتكامل ASP.NET Core مع Redis من خلال الحزمة Microsoft.Extensions.Caching.StackExchangeRedis، التي تكيّف عميل StackExchange.Redis ليتوافق مع IDistributedCache.

dotnet add package Microsoft.Extensions.Caching.StackExchangeRedis

تسجيل Redis باستخدام AddStackExchangeRedisCache

استدعوا AddStackExchangeRedisCache أثناء تسجيل الخدمات، ومرّروا سلسلة الاتصال. يؤدي ذلك إلى تهيئة Redis بوصفه تنفيذ IDistributedCache.

builder.Services.AddStackExchangeRedisCache(options =>
{
    options.Configuration = "localhost:6379";
});

استخدام الإعدادات

احتفظوا بسلسلة الاتصال في appsettings.json واقرؤوها عبر IConfiguration حتى تختلف بحسب البيئة.

builder.Services.AddStackExchangeRedisCache(options =>
{
    options.Configuration =
        builder.Configuration.GetConnectionString("Redis");
});

بادئة InstanceName

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

builder.Services.AddStackExchangeRedisCache(options =>
{
    options.Configuration = "localhost:6379";
    options.InstanceName = "MyApp:";
});

خيارات سلسلة الاتصال

تدعم سلسلة اتصال StackExchange.Redis خيارات عديدة، منها نقاط نهاية متعددة وكلمة مرور وSSL ومهلات زمنية، وتُفصل جميعها بفواصل.

options.Configuration =
    "redis-server:6380,password=secret,ssl=True,abortConnect=False";

الواجهة نفسها مع Redis الحقيقي

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

public WeatherService(IDistributedCache cache) => _cache = cache;
// GetStringAsync / SetStringAsync now talk to Redis

تشغيل Redis محليًا

لأغراض التطوير، يمكنكم تشغيل Redis بسرعة باستخدام Docker، ثم توجيه سلسلة الاتصال إليه.

docker run -p 6379:6379 redis:7
# then Configuration = "localhost:6379"

خيارات Redis المُدار

في بيئة الإنتاج، تتولى خدمات مُدارة مثل Azure Cache for Redis أو AWS ElastiCache التعامل مع التوسّع والاستمرارية والتجاوز التلقائي للأعطال. وعادةً ما تتصلون بها عبر نقطة نهاية SSL ومفتاح وصول.

options.Configuration =
    "myapp.redis.cache.windows.net:6380,password=KEY,ssl=True";

التعامل مع مرونة الاتصال

عيّنوا abortConnect=False حتى يواصل العميل إعادة المحاولة إذا كان Redis غير متاح مؤقتًا عند بدء التشغيل، بدلًا من طرح استثناء فورًا. واجمعوا ذلك مع Polly لتحقيق المرونة على مستوى الاستدعاء.

فحوصات السلامة

سجّلوا فحص سلامة لـ Redis حتى يتمكن تطبيقكم من الإبلاغ عن اتصال ذاكرة التخزين المؤقت إلى أدوات التنسيق وموازِنات التحميل.

builder.Services.AddHealthChecks()
    .AddRedis("localhost:6379");

اختبار سريع

اختبروا الاتصال بـ Redis.

مراجعة

Redis ذاكرة تخزين مؤقت خارجية وسريعة. ثبّتوا Microsoft.Extensions.Caching.StackExchangeRedis واستدعوا AddStackExchangeRedisCache مع سلسلة اتصال Configuration، ويمكنكم اختياريًا تحديد بادئة InstanceName. تواصل خدماتكم استخدام IDistributedCache دون تغيير. استخدموا إعدادات مختلفة لكل بيئة، وabortConnect=False لتحسين المرونة، وأضيفوا فحص سلامة لـ Redis.

الأسئلة الشائعة

هل درس «الاتصال بـ Redis» مجاني؟

نعم — نص درس «الاتصال بـ Redis» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة C# Academy، انتقل إلى CoddyKit PRO. تتضمن دورة C# Academy 4 دروس في المجموع.

ماذا ستتعلم في «الاتصال بـ Redis»؟

هيّئوا ذاكرة Redis المؤقتة الموزّعة تتمرن على C# Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ C# Academy؟

لا تُشترط خبرة سابقة. C# Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 2 من أصل 4.

كم من الوقت يستغرق درس «الاتصال بـ Redis»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس C# Academy هذا؟

نعم. كل درس في C# Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. تجريد IDistributedCache
  2. الاتصال بـ Redis
  3. أنماط التخزين المؤقت وانتهاؤه
  4. تخزين الكائنات المتسلسلة مؤقتًا
← العودة إلى C# Academy