مشاركة عبر


التشغيل السريع: استخدام ذاكرة التخزين المؤقت Azure ل Redis في Java مع عميل Jedis Redis

في التشغيل السريع هذا، تقوم بدمج Azure Cache for Redis في تطبيق Java باستخدام عميل Jedis Redis. ذاكرة التخزين المؤقت الخاصة بك هي ذاكرة تخزين مؤقت آمنة ومخصصة يمكن الوصول إليها من أي تطبيق داخل Azure.

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

استنساخ البدء السريع لـ repo Java على GitHub.

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

إنشاء مثيل Azure Managed Redis (معاينة)

  1. لإنشاء مثيل Azure Managed Redis (معاينة)، سجل الدخول إلى مدخل Microsoft Azure وحدد Create a resource.

  2. في الصفحة New ، في مربع البحث اكتب Azure Cache for Redis.

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

    الإعدادات اختيار قيمة ‏‏الوصف
    الاشتراك اضغط على القائمة المنسدلة وحدد اشتراكك. الاشتراك الذي يتم بموجبه إنشاء مثيل Azure Managed Redis الجديد هذا.
    مجموعة الموارد حدد مجموعة موارد، أو حدد "إCreate new"، ثم أدخل اسماً فريداً لمجموعة الموارد الجديدة. اسم مجموعة الموارد المراد إنشاء ذاكرة التخزين المؤقت والموارد الأخرى فيها. وعبر وضع جميع موارد التطبيق في مجموعة موارد واحدة، يمكنك إدارتها أو حذفها بسهولة.
    اسم DNS أدخل اسما فريدا في المنطقة. يجب أن يكون اسم ذاكرة التخزين المؤقت سلسلة بين 1 و63 حرفا عند دمجها مع اسم منطقة ذاكرة التخزين المؤقت التي تحتوي على أرقام أو أحرف أو واصلات فقط. (إذا كان اسم ذاكرة التخزين المؤقت أقل من 45 حرفا، فيجب أن يعمل في جميع المناطق المتوفرة حاليا.) يجب أن يبدأ الاسم وينتهي برقم أو حرف، ولا يمكن أن يحتوي على واصلات متتالية. اسم مضيف مثيل ذاكرة التخزين المؤقت هو \<DNS name\>.\<Azure region\>.redis.azure.net.
    Location من القائمة المنسدلة، حدد موقعاً. يتوفر Azure Managed Redis في مناطق Azure المحددة.
    نوع ذاكرة التخزين المؤقت منسدلة وحدد مستوى الأداء وحجم ذاكرة التخزين المؤقت. يحدد المستوى أداء مثيل Redis، بينما يحدد حجم ذاكرة التخزين المؤقت الذاكرة المتوفرة لتخزين البيانات. للحصول على إرشادات حول اختيار مستوى الأداء الصحيح، راجع اختيار المستوى الصحيح

    لقطة شاشة تعرض علامة التبويب أساسيات Redis المدارة من Azure.

  4. حدد Next: Networking وحدد إما نقطة نهاية عامة أو خاصة.

  5. حدد Next: Advanced.

    قم بتكوين أي وحدات Redis النمطية التي تريد إضافتها إلى المثيل.

    بشكل افتراضي، لذاكرة تخزين مؤقت مدارة جديدة:

    • تم تمكين معرف Microsoft Entra.
    • تم تعطيل مصادقة مفاتيح الوصول لأسباب أمنية.

    هام

    للحصول على الأمان الأمثل، نوصي باستخدام معرف Microsoft Entra مع الهويات المدارة لتخويل الطلبات مقابل ذاكرة التخزين المؤقت إذا أمكن. يوفر التخويل باستخدام معرف Microsoft Entra والهويات المدارة أمانا فائقا وسهولة استخدام عبر تخويل مفتاح الوصول المشترك. لمزيد من المعلومات حول استخدام الهويات المدارة مع ذاكرة التخزين المؤقت، راجع استخدام معرف Microsoft Entra لمصادقة ذاكرة التخزين المؤقت.

    تعيين نهج التجميع إلى Enterprise لذاكرة تخزين مؤقت غير متفاوتة المسافات، أو إلى OSS لذاكرة تخزين مؤقت مجمعة. لمزيد من المعلومات حول اختيار نهج تكوين أنظمة المجموعات، راجع نهج نظام المجموعة.

    لقطة شاشة تعرض علامة التبويب Azure Managed Redis Advanced.

    إذا كنت تستخدم النسخ المتماثل الجغرافي النشط، فيجب تكوينه أثناء الإنشاء. لمزيد من المعلومات، راجع تكوين النسخ المتماثل الجغرافي النشط لمثيلات Azure Managed Redis.

    هام

    لا يمكنك تغيير نهج التجميع لمثيل Azure Managed Redis (معاينة) بعد إنشائه. إذا كنت تستخدم RediSearch، فإن نهج مجموعة المؤسسة مطلوب، NoEviction وهو نهج الإخلاء الوحيد المدعوم.

    هام

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

    هام

    لا يمكنك تغيير الوحدات النمطية بعد إنشاء مثيل ذاكرة التخزين المؤقت. يجب تمكين الوحدات النمطية عندما تقوم بإنشاء Azure Cache لمثيل Redis. لا يوجد خيار لتمكين تكوين وحدة نمطية بعد إنشاء ذاكرة التخزين المؤقت.

  6. حدد Next: Tags و skip.

  7. حدّد Next: Review + create.

  8. راجع الإعدادات وحدد Create.

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

إنشاء مثيل Azure Cache لـ Redis

  1. لإنشاء ذاكرة تخزين مؤقت، سجل الدخول إلى مدخل Microsoft Azure. في قائمة المدخل، حدد Create a resource.

    لقطة شاشة تعرض خيار إنشاء مورد مميز في جزء التنقل الأيمن في مدخل Microsoft Azure.

  2. في جزء بدء الاستخدام ، أدخل Azure Cache for Redis في شريط البحث. في نتائج البحث، ابحث عن ذاكرة التخزين المؤقت Azure ل Redis، ثم حدد إنشاء.

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

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

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

  5. في علامة التبويب Networking ، حدد أسلوب اتصال لاستخدامه في ذاكرة التخزين المؤقت.

  6. حدد علامة التبويب خيارات متقدمة أو حدد التالي: خيارات متقدمة.

  7. في الجزء Advanced ، تحقق من أسلوب مصادقة أو حدده استنادا إلى المعلومات التالية:

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

    • بشكل افتراضي، بالنسبة إلى ذاكرة التخزين المؤقت الأساسية أو القياسية أو المتميزة الجديدة، يتم تمكين مصادقة Microsoft Entra وتعطيل مصادقة مفاتيح الوصول.
    • بالنسبة لذاكرة التخزين المؤقت الأساسية أو القياسية، يمكنك اختيار التحديد لمنفذ غير TLS.
    • بالنسبة لذاكرة التخزين المؤقت القياسية والمميزة، يمكنك اختيار تمكين مناطق التوفر. لا يمكنك تعطيل مناطق التوفر بعد إنشاء ذاكرة التخزين المؤقت.
    • بالنسبة لذاكرة التخزين المؤقت Premium، قم بتكوين الإعدادات لمنفذ غير TLS والتكتلة والهوية المدارة واستمرارية البيانات.

    هام

    للحصول على الأمان الأمثل، نوصي باستخدام معرف Microsoft Entra مع الهويات المدارة لتخويل الطلبات مقابل ذاكرة التخزين المؤقت إذا أمكن. يوفر التخويل باستخدام معرف Microsoft Entra والهويات المدارة أمانا فائقا وسهولة استخدام عبر تخويل مفتاح الوصول المشترك. لمزيد من المعلومات حول استخدام الهويات المدارة مع ذاكرة التخزين المؤقت، راجع استخدام معرف Microsoft Entra لمصادقة ذاكرة التخزين المؤقت.

  8. (اختياري) حدد علامة التبويب Tags أو حدد Next: Tags.

  9. (اختياري) في علامة التبويب Tags ، أدخل اسم علامة وقيمة إذا كنت تريد تصنيف مورد ذاكرة التخزين المؤقت.

  10. انقر فوق زر مراجعة + إنشاء.

    في علامة التبويب Review + create ، يتحقق Azure تلقائيا من صحة التكوين الخاص بك.

  11. بعد ظهور رسالة Validation passed الخضراء، حدد Create.

يحدث نشر ذاكرة التخزين المؤقت الجديدة على مدى عدة دقائق. يمكنك مراقبة تقدم النشر في جزء Azure Cache for Redis Overview. عندما تعرض الحالة قيد التشغيل، تكون ذاكرة التخزين المؤقت جاهزة للاستخدام.

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

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

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

    لقطة شاشة تعرض Azure Cache لخصائص Redis.

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

    لقطة شاشة تعرض Azure Cache لمفاتيح الوصول إلى Redis.

إعداد بيئة العمل

توضح لك الخطوات التالية كيفية إعداد بيئة العمل لتطبيق Java. يمكنك اختيار المصادقة باستخدام Azure Cache for Redis باستخدام معرف Microsoft Entra (مستحسن) أو مفاتيح الوصول.

export REDIS_CACHE_HOSTNAME=<your-host-name>.redis.cache.windows.net
export USER_NAME=<user-name>
export REDIS_CACHE_PORT=10000
export REDIS_CACHE_HOSTNAME=<your-host-name>.redis.cache.windows.net
export USER_NAME=<user-name>
export REDIS_CACHE_PORT=6380

استبدل العناصر النائبة بالقيم التالية:

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

    لقطة شاشة تعرض Azure Cache لخصائص Redis.

  • <user-name>: معرف الكائن للهوية المدارة أو كيان الخدمة.

    يمكنك الحصول على اسم المستخدم باستخدام الخطوات التالية:

    1. في مدخل Microsoft Azure، انتقل إلى Azure Cache لمثيل Redis.

    2. في جزء التنقل، حدد تكوين الوصول إلى البيانات.

    3. في علامة التبويب مستخدمو Redis، ابحث عن العمود اسم المستخدم .

      لقطة شاشة لمدخل Azure تعرض صفحة Azure Cache for Redis Data Access Configuration مع تمييز علامة التبويب Redis Users وقيمة Username.

إنشاء تطبيق Java جديد

  1. استخدم maven لإنشاء تطبيق تشغيل سريع جديد:

    mvn archetype:generate \
        -DarchetypeGroupId=org.apache.maven.archetypes \
        -DarchetypeArtifactId=maven-archetype-quickstart \
        -DarchetypeVersion=1.3 \
        -DinteractiveMode=false \
        -DgroupId=example.demo \
        -DartifactId=redis-jedis-test \
        -Dversion=1.0
    
  2. قم بالتغيير إلى دليل مشروع redis-jedis-test الجديد.

  3. افتح ملف pom.xml. في الملف، ترى تبعية ل Jedis:

    <dependency>
        <groupId>com.azure</groupId>
        <artifactId>azure-identity</artifactId>
        <version>1.15.0</version> <!-- {x-version-update;com.azure:azure-identity;dependency} -->
    </dependency>
    
    <dependency>
        <groupId>redis.clients</groupId>
        <artifactId>jedis</artifactId>
        <version>5.2.0</version> <!-- {x-version-update;redis.clients:jedis;external_dependency} -->
    </dependency>
    
  4. أغلق ملف pom.xml.

  5. افتح App.java وسترى التعليمات البرمجية بالرمز التالي:

    package example.demo;
    
    import com.azure.identity.DefaultAzureCredential;
    import com.azure.identity.DefaultAzureCredentialBuilder;
    import com.azure.core.credential.TokenRequestContext;
    import redis.clients.jedis.DefaultJedisClientConfig;
    import redis.clients.jedis.Jedis;
    
    /**
     * Redis test
     *
     */
    public class App
    {
        public static void main( String[] args )
        {
    
            boolean useSsl = true;
    
            //Construct a Token Credential from Identity library, e.g. DefaultAzureCredential / ClientSecretCredential / Client CertificateCredential / ManagedIdentityCredential etc.
            DefaultAzureCredential defaultAzureCredential = new DefaultAzureCredentialBuilder().build();
    
            // Fetch a Microsoft Entra token to be used for authentication. This token will be used as the password.
                    String token = defaultAzureCredential
                            .getToken(new TokenRequestContext()
                                    .addScopes("https://redis.azure.com/.default")).block().getToken();
    
            String cacheHostname = System.getenv("REDIS_CACHE_HOSTNAME");
            String username = System.getenv("USER_NAME");
            int port = Integer.parseInt(System.getenv().getOrDefault("REDIS_CACHE_PORT", "6380"));
    
            // Connect to the Azure Cache for Redis over the TLS/SSL port using the key.
            Jedis jedis = new Jedis(cacheHostname, port, DefaultJedisClientConfig.builder()
                    .password(token) // Microsoft Entra access token as password is required.
                    .user(username) // Username is Required
                    .ssl(useSsl) // SSL Connection is Required
                    .build());
            // Perform cache operations using the cache connection object...
    
            // Simple PING command
            System.out.println( "\nCache Command  : Ping" );
            System.out.println( "Cache Response : " + jedis.ping());
    
            // Simple get and put of integral data types into the cache
            System.out.println( "\nCache Command  : GET Message" );
            System.out.println( "Cache Response : " + jedis.get("Message"));
    
            System.out.println( "\nCache Command  : SET Message" );
            System.out.println( "Cache Response : " + jedis.set("Message", "Hello! The cache is working from Java!"));
    
            // Demonstrate "SET Message" executed as expected...
            System.out.println( "\nCache Command  : GET Message" );
            System.out.println( "Cache Response : " + jedis.get("Message"));
    
            // Get the client list, useful to see if connection list is growing...
            System.out.println( "\nCache Command  : CLIENT LIST" );
            System.out.println( "Cache Response : " + jedis.clientList());
    
            jedis.close();
        }
    }
    

    يوضح هذا الرمز كيفية الاتصال بمثيل ذاكرة التخزين المؤقت Azure لـ Redis باستخدام اسم مضيف ذاكرة التخزين المؤقت ومتغيرات بيئة المفتاح. كما تقوم التعليمات البرمجية بتخزين قيمة سلسلة واستردادها في ذاكرة التخزين المؤقت. أوامر PING وCLIENT LIST تنفذ أيضًا.

  6. أغلق ملف App.java.

إنشاء وتشغيل التطبيق

تنفيذ أوامر Maven التالية لإنشاء التطبيق وتشغيله:

mvn compile exec:java -D exec.mainClass=example.demo.App

في الإخراج التالي، يمكنك أن ترى أن Message المفتاح كان له قيمة مخزنة مؤقتا مسبقا. تم تحديث القيمة إلى قيمة جديدة باستخدام jedis.set. قام التطبيق أيضًا بتنفيذ PING وأوامر CLIENT LIST.

Cache Command  : Ping
Cache Response : PONG

Cache Command  : GET Message
Cache Response : Hello! The cache is working from Java!

Cache Command  : SET Message
Cache Response : OK

Cache Command  : GET Message
Cache Response : Hello! The cache is working from Java!

Cache Command  : CLIENT LIST
Cache Response : id=777430 addr=             :58989 fd=22 name= age=1 idle=0 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=32768 obl=0 oll=0 omem=0 ow=0 owmem=0 events=r cmd=client numops=6

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

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

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

هام

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

  1. سجل الدخول إلىمدخل Azureوحددمجموعات الموارد.

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

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

  3. اكتب اسم مجموعة الموارد لتأكيد الحذف ثم حدد حذف.

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

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

في هذه البداية السريعة، تعلمت كيفية استخدام Azure Cache لـ Redis من تطبيق Java. تابع إلى التشغيل السريع التالي لاستخدام Azure Cache for Redis مع تطبيق ويب ASP.NET.