تمرين: توصيل تطبيق إلى Azure Cache for Redis باستخدام .NET Core

مكتمل

في هذا التمرين ستتعلم كيفية:

  • أنشئ مثيل Redis Cache جديد باستخدام أوامر Azure CLI.
  • أنشئ تطبيق وحدة تحكم .NET Core لإضافة القيم واستردادها من ذاكرة التخزين المؤقت باستخدام حزمة StackExchange.Redis.

المتطلبات الأساسية

إنشاء موارد Azure

  1. تسجيل الدخول إلى المدخل: https://portal.azure.com وافتح Cloud Shell، وحدد Bash كواجهة.

  2. أنشئ مجموعة موارد لموارد Azure. استبدل <myLocation> بمنطقة قريبة منك.

    az group create --name az204-redis-rg --location <myLocation>
    
  3. أنشئ مثيل Azure Cache for Redis باستخدام الأمر az redis create. يجب أن يكون اسم المثيل فريدًا وسيحاول البرنامج النصي أدناه إنشاء اسم لك، استبدل <myLocation> بالمنطقة التي استخدمتها في الخطوة السابقة. سيستغرق هذا الأمر بضع دقائق ليكتمل.

    redisName=az204redis$RANDOM
    az redis create --location <myLocation> \
        --resource-group az204-redis-rg \
        --name $redisName \
        --sku Basic --vm-size c0
    
  4. في المدخل Azure انتقل إلى Redis Cache الجديدة التي أنشأتها.

  5. حدد Access keys في قسم Settings من جزء التنقّل واترك المدخل مفتوحًا. سننسخ قيمة سلسلة الاتصال الأساسية (StackExchange.Redis) لاستخدامها في التطبيق لاحقًا.

إنشاء تطبيق وحدة التحكم

  1. أنشئ تطبيق وحدة تحكم عن طريق تشغيل الأمر أدناه في الوحدة الطرفية Visual Studio Code.

    dotnet new console -o Rediscache
    
  2. افتح التطبيق في Visual Studio Code عن طريق تحديد File > Open Folder واختيار المجلد للتطبيق.

  3. أضف حزمة StackExchange.Redis إلى المشروع.

    dotnet add package StackExchange.Redis
    
  4. في ملف Program.cs أضف العبارة using أدناه في الأعلى.

    using StackExchange.Redis;
    using System.Threading.Tasks;
    
  5. أضف المتغير التالي إلى الفئة Program، استبدل <REDIS_CONNECTION_STRING> بـ سلسلة الاتصال الأساسي (StackExchange.Redis) من المدخل.

    // connection string to your Redis Cache    
    static string connectionString = "REDIS_CONNECTION_STRING";
    
  6. استبدل الأسلوب Main بالتعليمة البرمجية التالية.

    static async Task Main(string[] args)
    {
        // The connection to the Azure Cache for Redis is managed by the ConnectionMultiplexer class.
        using (var cache = ConnectionMultiplexer.Connect(connectionString))
        {
            IDatabase db = cache.GetDatabase();
    
            // Snippet below executes a PING to test the server connection
            var result = await db.ExecuteAsync("ping");
            Console.WriteLine($"PING = {result.Type} : {result}");
    
            // Call StringSetAsync on the IDatabase object to set the key "test:key" to the value "100"
            bool setValue = await db.StringSetAsync("test:key", "100");
            Console.WriteLine($"SET: {setValue}");
    
            // StringGetAsync takes the key to retrieve and return the value
            string getValue = await db.StringGetAsync("test:key");
            Console.WriteLine($"GET: {getValue}");
    
        }
    }
    
  7. في الوحدة الطرفية لـ Visual Studio Code شغّل الأوامر أدناه لبناء التطبيق للتحقق من وجود أخطاء، ومن ثم تشغيل التطبيق باستخدام الأوامر أدناه

    dotnet build
    dotnet run
    

    يجب أن يبدو الإخراج مشابهًا لما يلي:

    PING = SimpleString : PONG
    SET: True
    GET: 100
    
  8. ارجع إلى المدخل وحدد Activity log في شفرة Azure Cache for Redis. يمكنك عرض العمليات في السجل.

تنظيف الموارد

عندما لا تكون هناك حاجة للموارد، يمكنك استخدام الأمر az group delete لإزالة مجموعة الموارد.

az group delete -n az204-redis-rg --no-wait