بداية سريعة: استخدام Azure Cache لـ Redis باستخدام تطبيق ويب ASP.NET

في هذه البداية السريعة، يمكنك استخدام Visual Studio 2019 لإنشاء تطبيق ويب ASP.NET يتصل بـ Azure Cache لـ Redis لتخزين البيانات واستردادها من ذاكرة التخزين المؤقت. وبعد ذلك، ستقوم بنشر التطبيق إلى خدمة تطبيقات Azure.

انتقل إلى الكود على GitHub

استنسخ المستودع https://github.com/Azure-Samples/azure-cache-redis-samples/tree/main/quickstart/aspnet على GitHub.

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

إنشاء ذاكرة تخزين مؤقت

بعد ذلك، يمكنك إنشاء ذاكرة التخزين المؤقت للتطبيق.

  1. لإنشاء ذاكرة تخزين مؤقت، قم بتسجيل الدخول إلى منصة Azure وحدد إنشاء مورد.

    يكون

  2. في صفحة بدء الاستخدام ، اكتب ذاكرة التخزين المؤقت Azure ل Redis في مربع البحث. وبعد ذلك، حدد إنشاء.

    لقطة شاشة ل Azure Marketplace مع ذاكرة التخزين المؤقت Azure ل Redis في مربع البحث ويتم تمييز الإنشاء بمربع أحمر.

  3. في صفحة New Redis Cache ، قم بتكوين إعدادات ذاكرة التخزين المؤقت.

    الإعدادات اختيار قيمة ‏‏الوصف
    الاشتراك اضغط على القائمة المنسدلة وحدد اشتراكك. الاشتراك الذي يتم بموجبه إنشاء مثيل Azure Cache الجديد لـ Redis.
    مجموعة الموارد حدد مجموعة موارد، أو حدد "إCreate new"، ثم أدخل اسماً فريداً لمجموعة الموارد الجديدة. اسم مجموعة الموارد المراد إنشاء ذاكرة التخزين المؤقت والموارد الأخرى فيها. وعبر وضع جميع موارد التطبيق في مجموعة موارد واحدة، يمكنك إدارتها أو حذفها بسهولة.
    اسم DNS أدخل اسمًا فريدًا. يجب أن يكون اسم ذاكرة التخزين المؤقت عبارة عن سلسلة بين 1 و63 حرفًا تحتوي فقط على أرقام أو أحرف أو واصلات. لا بد أن يبدأ الاسم وينتهي برقم أو حرف، ولا يمكن أن يحتوي على واصلات متتالية. اسم مضيف مثيل ذاكرة التخزين المؤقت هو <اسم DNS.redis.cache.windows.net>.
    Location من القائمة المنسدلة، حدد موقعاً. حدد منطقة بالقرب من الخدمات الأخرى التي تستخدم ذاكرة التخزين المؤقت.
    ذاكرة التخزين المؤقت SKU منسدلة وحدد SKU. تحدد SKU معلمات الحجم والأداء والميزات المتوفرة لذاكرة التخزين المؤقت. لمزيد من المعلومات، راجع Azure Cache من أجل Redis Overview.
    حجم ذاكرة التخزين المؤقت القائمة المنسدلة وحدد حجم ذاكرة التخزين المؤقت لمزيد من المعلومات، راجع Azure Cache من أجل Redis Overview.
  4. حدد علامة التبويب Networking أو انقر فوق زر Networking في أسفل الصفحة.

  5. في علامة التبويب شبكة الاتصال، حدد أسلوب الاتصال.

  6. حدد علامة التبويب Next: Advanced أو حدد الزر Next: Advanced أسفل الصفحة لمشاهدة علامة التبويب Advanced.

    لقطة شاشة تعرض علامة التبويب خيارات متقدمة في جزء العمل والخيار المتاح للتحديد.

    • بالنسبة لذاكرة التخزين المؤقت الأساسية أو القياسية، قم بتبديل التحديد لمنفذ غير TLS. يمكنك أيضا تحديد ما إذا كنت تريد تمكين مصادقة Microsoft Entra.
    • بالنسبة لذاكرة التخزين المؤقت Premium، قم بتكوين الإعدادات لمنفذ غير TLS والتكتلة والهوية المدارة واستمرارية البيانات. يمكنك أيضا تحديد ما إذا كنت تريد تمكين مصادقة Microsoft Entra.
  7. حدد علامة Next: Tags أو حدد الزر Next: Tags في أسفل الصفحة.

  8. اختياريا، من علامة التبويب أدخل الاسم والقيمة إذا كنت ترغب في تصنيف المورد.

  9. حدد "Review + create". يتم نقلك إلى علامة التبويب Review + create إذ يقوم Azure بالتحقق من صحة التكوين الخاص بك.

  10. بعد ظهور رسالة "التحقق من الصحة" الخضراء، حدد إنشاء.

يستغرق إنشاء ذاكرة التخزين المؤقت بعض الوقت. يمكنك مراقبة التقدم المحرز فيAzure Cache لـصفحة Redis الخاصة بالنظرة العامة. عندما تظهر الحالة ك تشغيل، تكون ذاكرة التخزين المؤقت جاهزة للاستخدام.

استرجع اسم المضيف والمنافذ ومفاتيح الوصول من مدخل Azure

لتوصيل مخزن Azure الخاص بك لخادم Redis، يحتاج العميل المخزن إلى اسم المضيف والمنافذ ومفتاح للتخزين المؤقت. قد يشير بعض العملاء إلى هذه العناصر بأسماء مختلفة قليلًا. يمكنك الحصول على اسم المضيف والمنافذ والمفاتيح من مدخل Microsoft Azure.

  • للحصول على مفاتيح الوصول، حدد Authentication من قائمة Resource. ثم حدد علامة التبويب مفاتيح الوصول.

    Azure Cache لمفاتيح Redis

  • للحصول على اسم المضيف والمنافذ لذاكرة التخزين المؤقت، حدد نظرة عامة من قائمة الموارد. اسم المضيف هو من نموذج<DNS name>.redis.cache.windows.net.

    خصائص Azure Cache for Redis

لتحرير ملف CacheSecrets.config

  1. قم بإنشاء ملف على حاسوبك يُسمى CacheSecrets.config، وضعه في موقع لن يتم التحقق منه بواسطة كود المصدر لعينة التطبيق. للبدء السريع، يقع ملف CacheSecrets.config في C:\AppSecrets\CacheSecrets.config.

  2. تحرير ملف CacheSecrets.config. ثم أضف المحتوى التالي:

    <appSettings>
        <add key="CacheConnection" value="<cache-name>.redis.cache.windows.net,abortConnect=false,ssl=true,allowAdmin=true,password=<access-key>"/>
    </appSettings>
    
  3. استبدل <cache-name> باسم مُضيف الذاكرة المؤقتة.

  4. استبدل <access-key> بالمفتاح الأساسي للذاكرة المؤقتة.

    تلميح

    يمكنك استخدام مفتاح الوصول الثانوي في أثناء استدارة المفتاح كمفتاح بديل في أثناء إعادة إنشاء مفتاح الوصول الأساسي.

  5. حفظ الملف.

تحديث تطبيق MVC

في هذا القسم، يمكنك رؤية تطبيق MVC يقدم طريقة عرض تعرض اختباراً بسيطاً مقابل Azure Cache for Redis.

كيف يتصل ملف web.config بذاكرة التخزين المؤقت

عند تشغيل التطبيق محليًا، تُستخدم المعلومات في CacheSecrets.config لوصل Azure Cache لمثيل Redis. لاحقاً، يمكنك توزيع هذا التطبيق على Azure. وفي ذلك الوقت، يمكنك تهيئة إعداد تطبيق في Azure كي يستخدمه التطبيق لاسترداد معلومات اتصال ذاكرة التخزين المؤقت بدلا من هذا الملف.

ونظرًا إلى عدم نشر ملف CacheSecrets.config لـ Azure عبر تطبيقك، ستستخدمه فقط أثناء اختبار التطبيق محليًا. حافظ على أمان هذه المعلومات قدر الإمكان لمنع الوصول الضار إلى بيانات ذاكرة التخزين المؤقت.

لتحديث ملف web.config

  1. في مستكشف الحلول، افتح ملف web.config.

    Web.config

  2. في ملف web.config ، يمكنك تعيين <appSettings> عنصر لتشغيل التطبيق محليا.

    <appSettings file="C:\AppSecrets\CacheSecrets.config">

يقوم وقت تشغيل ASP.NET بدمج محتويات الملف الخارجي بعلامة العنصر <appSettings>. يتجاهل وقت التشغيل سمة الملف إذا تعذر العثور على الملف المحدد. لا يتم تضمين الأسرار الخاصة بك (سلسلة الاتصال بذاكرة التخزين المؤقت) كجزء من كود المصدر للتطبيق. عند نشر تطبيق الويب إلى Azure، لا يتم نشر ملف CacheSecrets.config.

تثبيت StackExchange.Redis

يحتاج الحل الخاص بك إلى تشغيل الحزمة StackExchange.Redis. قم بتثبيته بهذا الإجراء:

  1. لتكوين التطبيق لاستخدام حزمة StackExchange.Redis NuGet لبرنامج Visual Studio، حدد Tools > NuGet Package Manager > Package Manager Console.

  2. قم بتشغيل الأمر التالي من نافذة Package Manager Console:

    Install-Package StackExchange.Redis
    
  3. تقوم حزمة NuGet بتنزيل وإضافة مراجع التجميع المطلوبة لتطبيق العميل الخاص بك للوصول إلى Azure Cache for Redis باستخدام عميل StackExchange.Redis.

الاتصال مع ذاكرة التخزين المؤقت مع RedisConnection

يتم إدارة الاتصال بذاكرة التخزين المؤقت الخاصة بك من قبل RedisConnectionالفئة. تم إجراء الاتصال لأول مرة في هذه العبارة من ContosoTeamStats/Controllers/HomeController.cs:

   private static Task<RedisConnection> _redisConnectionFactory = RedisConnection.InitializeAsync(connectionString: ConfigurationManager.AppSettings["CacheConnection"].ToString()););

يتم الوصول إلى قيمة البيانات السرية CacheConnection باستخدام موفر تكوين Secret Manager ويتم استخدامها كمعامل كلمة المرور.

RedisConnection.csترى أن مساحة الاسم StackExchange.Redisقد تمت إضافتها إلى الرمز. هذا مطلوب للفئةRedisConnection.

using StackExchange.Redis;

تضمن التعليمة البرمجية RedisConnection وجود اتصال سليم دائمًا بذاكرة التخزين المؤقت من خلال إدارة مثيل ConnectionMultiplexer من StackExchange.Redis. تقوم الفئة RedisConnection بإعادة إنشاء الاتصال عند فقد الاتصال وتعذر إعادة الاتصال تلقائيًا.

لمزيد من المعلومات، راجع StackExchange.Redis والتعليمة البرمجية الموجودة في مستودع GitHub.

طرق عرض التخطيط في العينة

يتم تخزين تخطيط الصفحة الرئيسية لهذا النموذج في ملف _Layout.cshtml. من هذه الصفحة، تبدأ اختبار ذاكرة التخزين المؤقت الفعلي بالنقر على Azure Cache for Redis Test من هذه الصفحة.

  1. في Solution Explorer، قم بتوسيع مجلد المشاهدة>المشترك. ثم افتح ملف _Layout.cshtml.

  2. ترى السطر التالي في <div class="navbar-header">.

    @Html.ActionLink("Azure Cache for Redis Test", "RedisCache", "Home", new { area = "" }, new { @class = "navbar-brand" })
    

    لقطة شاشة لصفحة الترحيب

إظهار البيانات من ذاكرة التخزين المؤقت

من الصفحة الرئيسية، ستحدد Azure Cache for Redis Test لمشاهدة عينة الإخراج.

  1. في Solution Explorer، قم بتوسيع مجلد Views ثم انقر بزر الماوس الأيمن على مجلد Home.

  2. يجب أن تشاهد هذه التعليمة البرمجية في ملف RedisCache.cshtml.

    @{
        ViewBag.Title = "Azure Cache for Redis Test";
    }
    
    <h2>@ViewBag.Title.</h2>
    <h3>@ViewBag.Message</h3>
    <br /><br />
    <table border="1" cellpadding="10">
        <tr>
            <th>Command</th>
            <th>Result</th>
        </tr>
        <tr>
            <td>@ViewBag.command1</td>
            <td><pre>@ViewBag.command1Result</pre></td>
        </tr>
        <tr>
            <td>@ViewBag.command2</td>
            <td><pre>@ViewBag.command2Result</pre></td>
        </tr>
        <tr>
            <td>@ViewBag.command3</td>
            <td><pre>@ViewBag.command3Result</pre></td>
        </tr>
        <tr>
            <td>@ViewBag.command4</td>
            <td><pre>@ViewBag.command4Result</pre></td>
        </tr>
        <tr>
            <td>@ViewBag.command5</td>
            <td><pre>@ViewBag.command5Result</pre></td>
        </tr>
    </table>
    

تشغيل التطبيق محليًا

تتم تهيئة المشروع افتراضيًا لاستضافة التطبيق محليًا في IIS Express لغرض الاختبار وتصحيح الأخطاء.

لتشغيل التطبيق محليًا

  1. في Visual Studio، اختر Debug>Start Debugging لبناء التطبيق وبدئه محليًا لغرض الاختبار وتصحيح الأخطاء.

  2. في المتصفح، اختر Azure Cache for Redis Test بشريط أدوات التصفح.

  3. في المثال التالي، كانت لدي المفتاح Message مسبقًا قيمة مُخزنة، والتي عُينت باستخدام Azure Cache لوحدة تحكم Redis في البوابة. قام التطبيق بتحديث تلك القيمة المخزنة. قام التطبيق أيضًا بتنفيذ PING وأوامر CLIENT LIST.

     لقطة شاشة للاختبار البسيط مكتملة محلية

النشر والتشغيل في Azure

بعد اختبار التطبيق محليًا بنجاح، يمكنك نشر التطبيق إلى Azure وتشغيله في السحابة.

لنشر التطبيق إلى Azure

  1. في Visual Studio، انقر بزر الماوس الأيمن فوق عقدة المشروع في Solution Explorer. ثم اختر Publish.

    نشر

  2. اختر Microsoft Azure App Service، ثم اختر Create New، وبعدها Publish.

    نشر خدمة التطبيق

  3. في المربع الحواري Create App Service، قم بصنع التغييرات التالية:

    الإعدادات القيمة الموصى بها ‏‏الوصف
    اسم التطبيق استخدم الافتراضي. اسم التطبيق هو اسم المضيف للتطبيق عند نشره في Azure. قد تكون للاسم لاحقة طابع الزمني مضافة إليه لجعله فريدًا إذا لزم الأمر.
    الاشتراك اختر مُعرف اشتراك Azure الخاص بك. يتم احتساب هذا الاشتراك على أي تكاليف استضافة ذات صلة. إذا كان لديك العديد من اشتراكات Azure، فتحقق من تحديد الاشتراك الذي تريده.
    مجموعة الموارد استخدم نفس مجموعة الموارد التي أنشأت فيها ذاكرة التخزين المؤقتة. (على سبيل المثال، TestResourceGroup). تساعدك مجموعة الموارد في إدارة كافة الموارد كمجموعة. لاحقًا، عندما تريد حذف التطبيق، يمكنك حذف المجموعة فقط.
    خطة App Service اختر New، ثم قم بإنشاء خدمة تطبيق جديدة اسمها TestingPlan.
    استخدم نفس الموقع الذي استخدمته عند إنشاء ذاكرة التخزين المؤقتة.
    اختر Free لتحديد الحجم.
    تحدد خطة خدمة التطبيق مجموعة من الموارد المحسوبة كي يعمل تطبيق الويب بواسطتها.

    مربع حوار خدمة التطبيق

  4. بعد تهيئة إعدادات استضافة خدمة التطبيق، اختر Create.

  5. راقب نافذة المُخرج في Visual Studio لمعرفة حالة النشر. بعد نشر التطبيق، يتم تسجيل عنوان URL للتطبيق:

    نشر المُخرج

إضافة إعداد التطبيق لذاكرة التخزين المؤقت

بعد نشر التطبيق الجديد، أضف إعداد تطبيق جديدًا. يستخدم هذا الإعداد لتخزين معلومات اتصال ذاكرة التخزين المؤقت.

لإضافة إعداد التطبيق

  1. اكتب اسم التطبيق في شريط البحث في أعلى مدخل Azure للعثور على التطبيق الجديد الذي أنشأته.

    البحث عن التطبيق

  2. أضف إعداد تطبيق جديدًا اسمه CacheConnection للتطبيق كي تستخدمه للاتصال مع ذاكرة التخزين المؤقت. استخدم نفس القيمة التي قمت بتهيئتها لـ CacheConnection في ملف CacheSecrets.config. تحتوي القيمة على اسم مضيف ذاكرة التخزين المؤقتة ومفتاح الوصول.

    إضافة إعداد التطبيق

تشغيل التطبيق في Azure

  1. في المتصفح، انتقل إلى عنوان URL للتطبيق. يظهر URL في نتائج عملية النشر في نافذة مُخرج Visual Studio. كما أنها متوفرة في مدخل Azure في صفحة النظرة العامة للتطبيق الذي أنشأته.

  2. حدد Azure Cache for Redis Test على شريط التنقل لاختبار الوصول إلى ذاكرة التخزين المؤقت كما فعلت مع الإصدار المحلي.

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

إذا واصلت استخدام هذه البداية السريعة، يمكنك الاحتفاظ بالموارد التي أنشأتها وإعادة استخدامها.

وإلا، إذا انتهيت من تطبيق نموذج التشغيل السريع، يمكنك حذف موارد Azure التي أنشأتها في هذا التشغيل السريع لتجنب الرسوم.

هام

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

لحذف مجموعة موارد

  1. سجل الدخول إلى مدخل Azure، وحدد "Resource groups".

  2. في المربع Filter by name... اكتب اسم مجموعة الموارد. استخدمت إرشادات هذه المقالة مجموعة موارد تسمى TestResources. في مجموعة الموارد، في قائمة النتائج، حدد ...، ثم "Delete resource group".

    حذف

  3. يُطلب منك تأكيد حذف مجموعة الموارد. اكتب اسم مجموعة الموارد لتأكيده، واختر "Delete".

بعد مرور لحظات قليلة، يتم حذف مجموعة الموارد وجميع مواردها.

الخطوات التالية