مشاركة عبر


التشغيل السريع: استخدام ذاكرة التخزين المؤقت 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. في صفحة إنشاء مورد ، اكتب Azure Managed Redis في مربع البحث.

  3. اختر بلاطة Redis المدارة في Azure واختر إنشاء (Create).

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

    الإعداد اختيار قيمة وصف
    الاشتراك اضغط على القائمة المنسدلة وحدد اشتراكك. الاشتراك الذي يتم بموجبه إنشاء مثيل Azure Managed Redis الجديد هذا.
    مجموعة الموارد حدد مجموعة موارد، أو حدد "إCreate new"، ثم أدخل اسماً فريداً لمجموعة الموارد الجديدة. اسم مجموعة الموارد المراد إنشاء ذاكرة التخزين المؤقت والموارد الأخرى فيها. وعبر وضع جميع موارد التطبيق في مجموعة موارد واحدة، يمكنك إدارتها أو حذفها بسهولة.
    الاسم أدخل اسما فريدا في المنطقة. يجب أن يكون اسم ذاكرة التخزين المؤقت سلسلة بين 1 و63 حرفا عند دمجها مع اسم منطقة ذاكرة التخزين المؤقت التي تحتوي على أرقام أو أحرف أو واصلات فقط. (إذا كان اسم ذاكرة التخزين المؤقت أقل من 45 حرفا، فيجب أن يعمل في جميع المناطق المتوفرة حاليا.) يجب أن يبدأ الاسم وينتهي برقم أو حرف، ولا يمكن أن يحتوي على واصلات متتالية. اسم مضيف مثيل
    المنطقة من القائمة المنسدلة، حدد موقعاً. يتوفر Azure Managed Redis في مناطق Azure المحددة.
    طبقة البيانات حدد إما في الذاكرة للحصول على أداء عال، أو Flash لذاكرة التخزين المؤقت ذات الأداء المنخفض تتضمن المستويات داخل الذاكرة متوازنةوذاكرة محسنةوحوسبة محسنة. استخدم طبقة Flash لاستخدام تخزين البيانات في الذاكرة (RAM) وعلى القرص (SSD).
    حجم ذاكرة التخزين المؤقت منسدلة وحدد حجما. يعتمد حجم ذاكرة التخزين المؤقت على المستوى. أصغر حجم هو طبقة متوازنة. الحجم الأكبر في مستوى الذاكرة هو طبقة الذاكرة المحسنة.
    اداء منسدلة وحدد تفضيل الأداء. يعتمد الأداء على عدد وحدات المعالجة المركزية الظاهرية. يختلف عدد وحدات المعالجة المركزية الظاهرية حسب المستوى. يحتوي Compute Optimized على معظم وحدات المعالجة المركزية الظاهرية.

    للحصول على إرشادات حول اختيار مستوى الأداء الصحيح، راجع اختيار المستوى الصحيح.

    هام

    جميع مستويات الذاكرة التي تستخدم أكثر من 235 جيجابايت من التخزين موجودة في المعاينة العامة، بما في ذلك M350 المحسنة للذاكرة وما فوق؛ B350 متوازن وما فوق؛ وCompute Optimized X350 وما فوق. كل هذه المستويات وأعلى موجودة في المعاينة العامة.

    جميع مستويات Flash Optimized موجودة في المعاينة العامة.

  5. اختر التالي: الشبكات ، واختر إما تعطيل الوصول العام واستخدام الوصول الخاص أو تمكين الوصول العام من جميع الشبكات.

  6. حدد Next: Active geo-replication. لاستخدام النسخ المتماثل الجغرافي النشط، يجب تمكينه أثناء التوفير. لا يمكن إضافة ذاكرة التخزين المؤقت دون النسخ المتماثل الجغرافي النشط إلى مجموعات النسخ المتماثل الجغرافي النشطة أو الانضمام إليها لاحقا. لمزيد من المعلومات، راجع تكوين النسخ المتماثل الجغرافي النشط لمثيلات Azure Managed Redis.

  7. حدد علامة التبويب Next: Advanced .

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

    تعيين نهج تكوين أنظمة المجموعات:

    • استخدام Enterprise لاستخدام RedisSearch أو وحدات نمطية أخرى
    • استخدم OSS لذاكرة تخزين مؤقت متفاوت المسافات.
    • استخدم غير متفاوت المسافات (معاينة) لذاكرة تخزين مؤقت غير مجمعة.

    لمزيد من المعلومات حول اختيار نهج تكوين أنظمة المجموعات، راجع نهج نظام المجموعة.

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

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

    هام

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

    هام

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

    هام

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

    هام

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

  8. حدد Next: Tags و skip.

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

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

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

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

  1. في مدخل Microsoft Azure، ابحث عن Azure Cache ل Redis وحدده.

  2. في صفحة Azure Cache for Redis ، حدد Create>Azure Cache for Redis.

  3. في علامة التبويب Basics في صفحة New Redis Cache ، قم بتكوين الإعدادات التالية:

    • الاشتراك: حدد الاشتراك المراد استخدامه.
    • مجموعة الموارد: حدد مجموعة موارد، أو حدد إنشاء جديد وأدخل اسم مجموعة موارد جديدة. يتيح لك وضع جميع موارد التطبيق في نفس مجموعة الموارد إمكانية إدارتها أو حذفها معا بسهولة.
    • الاسم: أدخل اسم ذاكرة التخزين المؤقت الفريد في المنطقة. يجب أن يكون الاسم:
      • أن تكون سلسلة من 1 إلى 63 حرفا.
      • تحتوي على أرقام وأحرف وواصلات فقط.
      • ابدأ وانتهي برقم أو حرف.
      • لا تحتوي على واصلات متتالية.
    • المنطقة: حدد منطقة Azure بالقرب من الخدمات الأخرى التي تستخدم ذاكرة التخزين المؤقت.
    • ذاكرة التخزين المؤقت SKU: حدد SKU لتحديد الأحجام والأداء والميزات المتوفرة لذاكرة التخزين المؤقت.
    • حجم ذاكرة التخزين المؤقت: حدد حجم ذاكرة التخزين المؤقت. لمزيد من المعلومات، راجع Azure Cache من أجل Redis overview.

    لقطة شاشة تعرض علامة التبويب Basics في صفحة New Redis Cache.

  4. حدد علامة التبويب Networking ، أو حدد Next: Networking.

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

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

  7. في الجزء Advanced ، قم بتكوين الخيارات التالية:

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

    تظهر الصورة التالية علامة التبويب Advanced ل Standard SKU.

    لقطة شاشة تعرض الجزء المتقدم لذاكرة التخزين المؤقت SKU القياسية.

    هام

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

  8. اختياريا، حدد علامة التبويب Tags أو حدد Next: Tags، وأدخل أسماء العلامات والقيم لتصنيف موارد ذاكرة التخزين المؤقت.

  9. حدد Review + create، وبمجرد اجتياز التحقق من الصحة، حدد Create.

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

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

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

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

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

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

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

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

توضح لك الخطوات التالية كيفية إعداد بيئة العمل لتطبيق Java.

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

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

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

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

  • <your-client-id>معرف التطبيق (العميل) لتسجيل تطبيق Azure AD.:

  • <your-client-secret>سر العميل لتسجيل تطبيق Azure AD.:

  • <your-tenant-id>معرف مستأجر Azure Active Directory.:

    إشعار

    يستخدم المثال أعلاه المصادقة السرية للعميل. يمكنك أيضا تكوين المكتبة redis-authx-entraid لاستخدام طرق مصادقة أخرى مثل الهوية المدارة أو شهادة العميل عن طريق تعديل التكوين EntraIDTokenAuthConfigBuilder في التعليمات البرمجية الخاصة بك.


إنشاء تطبيق 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:

    إشعار

    دخلت Microsoft في شراكة مع Redis، Inc. كجزء من هذا التعاون، تم نقل دعم مصادقة معرف Microsoft Entra من Azure SDK إلى ملحقات معرف Redis Entra. توفر المكتبة الجديدة redis-authx-entraid إمكانات مصادقة محسنة وهي النهج الموصى به لمصادقة معرف Microsoft Entra باستخدام Azure Cache for Redis.

    <dependency>
        <groupId>redis.clients.authentication</groupId>
        <artifactId>redis-authx-entraid</artifactId>
        <version>0.1.1-beta2</version>
    </dependency>
    
    <dependency>
        <groupId>redis.clients</groupId>
        <artifactId>jedis</artifactId>
        <version>6.0.0</version> 
    </dependency>
    
  4. أغلق ملف pom.xml.

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

    package example.demo;
    
    import com.azure.identity.DefaultAzureCredentialBuilder;
    import redis.clients.authentication.core.TokenAuthConfig;
    import redis.clients.authentication.entraid.AzureTokenAuthConfigBuilder;
    import redis.clients.jedis.DefaultJedisClientConfig;
    import redis.clients.jedis.HostAndPort;
    import redis.clients.jedis.UnifiedJedis;
    import redis.clients.jedis.authentication.AuthXManager;
    
    import java.util.Set;
    
    /**
    * Redis test with Microsoft Entra ID authentication using redis-authx-entraid
    * For more information about Redis authentication extensions, see:
    * https://redis.io/docs/latest/develop/clients/jedis/amr/
    *
    */
    public class App
    {
        public static void main( String[] args )
        {
            String REDIS_CACHE_HOSTNAME = System.getenv("REDIS_CACHE_HOSTNAME");
            int REDIS_PORT = Integer.parseInt(System.getenv().getOrDefault("REDIS_CACHE_PORT", "10000"));
            String SCOPES = "https://redis.azure.com/.default"; // The scope for Azure Cache for Redis
    
            // Build TokenAuthConfig for Microsoft Entra ID authentication
            TokenAuthConfig tokenAuthConfig = AzureTokenAuthConfigBuilder.builder()
                    .defaultAzureCredential(new DefaultAzureCredentialBuilder().build())
                    .scopes(Set.of(SCOPES))
                    .tokenRequestExecTimeoutInMs(2000)
                    .build();
    
            DefaultJedisClientConfig config = DefaultJedisClientConfig.builder()
                    .authXManager(new AuthXManager(tokenAuthConfig))
                    .ssl(true)
                    .build();
    
            UnifiedJedis jedis = new UnifiedJedis(
                    new HostAndPort(REDIS_CACHE_HOSTNAME, REDIS_PORT),
                    config);
    
            // Test the connection
            System.out.println(String.format("Database size is %d", jedis.dbSize()));
    
            // 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"));
    
            jedis.close();
        }
    }
    

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

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

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

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

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

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

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!

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

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

وإلا، في حال كنت قد انتهيت من تطبيق نموذج التشغيل السريع، يمكنك حذف موارد 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.