تمرين - الاتصال تطبيق إلى ذاكرة التخزين المؤقت Azure ل 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. في مدخل Microsoft 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;
    
  5. أضف المتغير التالي بعد العبارة using ، واستبدل <REDIS_CONNECTION_STRING>سلسلة الاتصال الأساسي (StackExchange.Redis) من المدخل.

    // connection string to your Redis Cache    
    string connectionString = "REDIS_CONNECTION_STRING";
    
  6. إلحاق التعليمات البرمجية التالية في ملف Program.cs :

    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 retrieves the value for the "test" key
        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