Aracılığıyla paylaş


Hızlı Başlangıç: Java'da Jedis Redis istemcisiyle Redis için Azure Cache kullanma

Bu hızlı başlangıçta, Jedis Redis istemcisini kullanarak Redis için Azure Cache bir Java uygulamasına dahil edin. Önbelleğiniz, Azure içindeki herhangi bir uygulamadan erişilebilen güvenli ve ayrılmış bir önbellektir.

GitHub'da koda atlayın

GitHub'da depo Java hızlı başlangıcını kopyalayın.

Önkoşullar

Azure Yönetilen Redis örneği oluştur

  1. Azure Yönetilen Redis örneği oluşturmak için Azure portalında oturum açın ve Kaynak oluştur'u seçin.

  2. Kaynak oluştur sayfasında, arama kutusuna Azure Yönetilen Redis yazın.

  3. Azure Yönetilen Redis kutucuğunu seçin ve Oluştur'u seçin.

  4. Azure Yönetilen Redis örneği oluştur bölmesinde, Temel Bilgiler sekmesinde yeni önbellek ayarlarını yapılandırın.

    Ayarlar Bir değer seçin Açıklama
    Abonelik Açılan menüye gidin ve aboneliğinizi seçin. Bu yeni Azure Yönetilen Redis örneğinin oluşturulacağı abonelik.
    Kaynak Grubu Açılan menüden bir kaynak grubu seçin veya Yeni oluştur'u seçip yeni bir kaynak grubu adı girin. Önbelleğinizi ve diğer kaynakları oluşturacağınız kaynak grubunun adı. Tüm uygulama kaynaklarınızı tek bir kaynak grubuna yerleştirerek bunları kolayca yönetebilir veya silebilirsiniz.
    İsim Bölgede benzersiz bir ad girin. Önbellek adı yalnızca sayı, harf veya kısa çizgi içeren önbelleğin bölge adıyla birleştirildiğinde 1 ile 63 karakter arasında bir dize olmalıdır. (Önbellek adı 45 karakterden azsa, kullanılabilir durumdaki tüm bölgelerde çalışmalıdır.) Adın bir sayı veya harfle başlayıp bitmesi gerekir ve ardışık kısa çizgi içeremez. Önbellek örneğinizin ana bilgisayar adı, \<DNS name\>.\<Azure region\>.redis.azure.net.
    Bölge Açılan menüden bir konum seçin. Azure Yönetilen Redis, seçili Azure bölgelerinde kullanılabilir.
    Veri katmanı Yüksek performans için Bellek içi'yi veya daha düşük performanslı önbellekler için Flash'ı seçin Bellek içi katmanlar Dengeli, Bellek için İyileştirilmiş ve İşlem için İyileştirilmiş'i içerir. Bellek içi (RAM) ve disk içi (SSD) veri depolamayı kullanmak için Flash katmanını kullanın.
    Önbellek Boyutu Açılan menüye gidin ve bir boyut seçin. Önbellek boyutu katmana bağlıdır. En küçük boyut Dengeli katmandır. Bellek içi katmanların en büyüğü, Bellek İyileştirilmiş bir katmandır.
    Performans Açılan menüye gidin ve bir performans tercihi seçin. Performans, vCPU sayısına bağlıdır. vCPU sayısı katmana göre değişir. Compute Optimized, en fazla sayıda vCPU'ya sahiptir.

    Doğru performans katmanını seçme hakkında yönergeler için bkz. Doğru katmanı seçme.

    Önemli

    Bellek için İyileştirilmiş M350 ve üzeri dahil olmak üzere 235 GB'ın üzerinde depolama alanı kullanan tüm bellek içi katmanlar Genel Önizleme aşamasındadır; Dengeli B350 ve üzeri; ve İşlem için İyileştirilmiş X350 ve üzeri. Tüm bu katmanlar ve üzeri Genel Önizleme aşamasındadır.

    Flash için İyileştirilmiş tüm katmanlar herkese açık önizleme aşamasındadır.

  5. İleri: Ağ'ı seçin ve Genel erişimi devre dışı bırak ve özel erişimi kullan'ı veya Tüm ağlardan genel erişimi etkinleştir'i seçin.

  6. İleri: Etkin coğrafi çoğaltma'ya tıklayın. Coğrafi çoğaltmayı etkin kullanmak için, hizmet sağlama sırasında etkinleştirilmesi gerekir. Etkin coğrafi çoğaltma olmayan önbellekler daha sonra etkin coğrafi çoğaltma gruplarına eklenemez veya bu gruplara katılamaz. Daha fazla bilgi için bkz . Azure Yönetilen Redis örnekleri için etkin coğrafi çoğaltmayı yapılandırma.

  7. İleri: Gelişmiş sekmesini seçin.

    Örneğe eklemek istediğiniz tüm Redis modüllerini yapılandırın.

    Kümeleme ilkesini ayarlayın:

    • RedisSearch veya diğer modülleri kullanmak için Kurumsal'ı kullanma
    • Kümelenmiş önbellek için OSS kullanın.
    • Non-clustered (Önizleme) için kümelenmemiş bir önbellek kullanın.

    Kümeleme ilkesi seçme hakkında daha fazla bilgi için bkz. Küme ilkesi.

    Yeni yönetilen önbellek için varsayılan olarak:

    • Microsoft Entra Id etkinleştirildi.
    • Erişim Anahtarları Kimlik Doğrulaması güvenlik nedeniyle devre dışı bırakıldı.

    Önemli

    Önbellek örneği oluşturduktan sonra modülleri değiştiremezsiniz. Azure Yönetilen Redis örneği oluşturduğunuzda modüllerin etkinleştirilmesi gerekir. Önbellek oluşturduktan sonra modülün yapılandırmasını etkinleştirme seçeneği yoktur.

    Önemli

    En iyi güvenlik için, mümkünse istekleri önbelleğinize karşı yetkilendirmek için yönetilen kimliklerle Microsoft Entra Id kullanmanızı öneririz. Microsoft Entra Id ve yönetilen kimlikleri kullanarak yetkilendirme, paylaşılan erişim anahtarı yetkilendirmesi üzerinden üstün güvenlik ve kullanım kolaylığı sağlar. Önbelleğinizle yönetilen kimlikleri kullanma hakkında daha fazla bilgi için Önbellek kimlik doğrulaması için Microsoft Entra ID kullanma kısmına bakın.

    Önemli

    Bir Azure Yönetilen Redis örneğinin kümeleme ilkesini oluşturduktan sonra değiştiremezsiniz. RediSearch kullanıyorsanız Kurumsal küme ilkesi gereklidir ve NoEviction desteklenen tek çıkarma ilkesidir.

    Önemli

    Bu önbellek örneğini bir coğrafi çoğaltma grubunda kullanıyorsanız, çıkarma ilkeleri örnek oluşturulduktan sonra değiştirilemez. Önbelleği oluşturmadan önce birincil düğümlerinizin çıkarma ilkelerini bildiğinizden emin olun. Etkin coğrafi çoğaltma hakkında daha fazla bilgi için bkz . Etkin coğrafi çoğaltma önkoşulları.

  8. İleri: Etiketler'i seçin ve atlayın.

  9. Sonraki: Gözden geçirme ve oluşturma’yı seçin.

  10. Ayarları gözden geçirin ve Oluştur'u seçin.

    Redis örneğinin oluşturulması birkaç dakika sürer. Azure Yönetilen Redis'e Genel Bakış sayfasında ilerleme durumunu izleyebilirsiniz. Durum Çalışıyor olarak gösterildiğinde önbellek kullanıma hazırdır.

Redis için Azure Cache örneği oluşturma

  1. Azure portalındaRedis için Azure Cache'i arayın ve seçin.

  2. Redis için Azure Cache sayfasındaRedis için Azure Cache> seçin.

  3. Yeni Redis Cache sayfasının Temel Bilgiler sekmesinde aşağıdaki ayarları yapılandırın:

    • Abonelik: Kullanmak istediğiniz aboneliği seçin.
    • Kaynak grubu: Bir kaynak grubu seçin veya Yeni oluştur'u seçip yeni bir kaynak grubu adı girin. Tüm uygulama kaynaklarınızı aynı kaynak grubuna yerleştirmek, bunları kolayca yönetmenize veya silmenize olanak tanır.
    • Ad: Bölgede benzersiz bir önbellek adı girin. Adın şu şekilde olması gerekir:
      • 1 ile 63 karakter arası bir dize olmalıdır.
      • Yalnızca sayı, harf ve kısa çizgi içerir.
      • Bir sayı veya harfle başlayıp bitirin.
      • Ardışık kısa çizgi içermez.
    • Bölge: Önbelleğinizi kullanan diğer hizmetlerin yakınında bir Azure bölgesi seçin.
    • Önbellek SKU'su: Önbelleğiniz için kullanılabilir boyutları, performansı ve özellikleri belirlemek için bir SKU seçin.
    • Önbellek boyutu: Önbellek boyutu seçin. Daha fazla bilgi için bkz. Redis için Azure Cache genel bakış.

    Yeni Redis Önbelleği sayfasının Temel Bilgiler sekmesini gösteren ekran görüntüsü.

  4. sekmesini seçin veya İleri: Ağ'ı seçin.

  5. Ağ Ayarları sekmesinde önbellek için kullanılacak bir bağlantı yöntemi seçin. Güvenlik için Özel Uç Nokta önerilir. Özel Uç Nokta'yı seçerseniz Özel uç nokta ekle'yi seçin ve özel uç noktayı oluşturun.

  6. Gelişmiş sekmesini seçin veya İleri: Gelişmiş'i seçin.

  7. Gelişmiş bölmesinde aşağıdaki seçenekleri yapılandırın:

    • Microsoft Entra Kimlik Doğrulaması veya Erişim Anahtarları Kimlik Doğrulaması'nı seçin. Microsoft Entra Kimlik Doğrulaması varsayılan olarak etkindir.
    • TLS olmayan bağlantı noktasının etkinleştirilip etkinleştirilmeyeceğini seçin.
    • Premium önbellek için Kullanılabilirlik alanlarını yapılandırabilir veya devre dışı bırakabilirsiniz. Önbellek oluşturulduktan sonra kullanılabilirlik alanlarını devre dışı bırakamazsınız. Standart önbellek için kullanılabilirlik alanları otomatik olarak ayrılır. Kullanılabilirlik bölgeleri, Temel SKU için kullanılamaz.
    • Premium önbellek için Çoğaltma sayısı, Kümeleme ve Parça sayısı, Sistem tarafından atanan yönetilen kimlik ve Veri kalıcılığı ayarlarını yapılandırın.

    Aşağıdaki resimde Standart SKU için Gelişmiş sekmesi gösterilmektedir.

    Standart SKU önbelleği için Gelişmiş bölmesini gösteren ekran görüntüsü.

    Önemli

    Mümkünse istekleri önbelleğinizde yetkilendirmek için yönetilen kimliklerle Microsoft Entra Id kullanın. Microsoft Entra Kimliğini ve yönetilen kimliği kullanarak yetkilendirme, daha iyi güvenlik sağlar ve paylaşılan erişim anahtarı yetkilendirmesinden daha kolay kullanılır. Önbelleğinizle yönetilen kimlikleri kullanma hakkında daha fazla bilgi için Önbellek kimlik doğrulaması için Microsoft Entra ID kullanma kısmına bakın.

  8. İsteğe bağlı olarak , Etiketler sekmesini seçin veya İleri: Etiketler'i seçin ve önbellek kaynaklarınızı kategorilere ayırmak için etiket adlarını ve değerlerini girin.

  9. Gözden geçir + oluştur'u seçin ve doğrulama başarılı olduktan sonra Oluştur'u seçin.

Yeni önbellek dağıtımı birkaç dakika sürer. Dağıtım ilerleme durumunu Portal Azure Cache for Redis sayfasından izleyebilirsiniz. Önbellek DurumuÇalışıyor olarak görüntülendiğinde önbellek kullanıma hazırdır.

Azure portalından konak adını, bağlantı noktalarını ve erişim anahtarlarını alma

Redis için Azure Cache sunucunuzu bağlamak için önbellek istemcisinin ana bilgisayar adına, bağlantı noktalarına ve önbellek anahtarına ihtiyacı vardır. Bazı istemciler bu öğelere biraz daha farklı adlarla başvurabilir. Konak adını, bağlantı noktalarını ve anahtarları Azure portalından alabilirsiniz.

  • Önbelleğinizin ana bilgisayar adını ve bağlantı noktalarını almak için Kaynak menüsünden Genel Bakış'ı seçin. Ana bilgisayar adı biçimindedir <DNS name>.redis.cache.windows.net.

    Redis için Azure Cache özelliklerini gösteren ekran görüntüsü.

  • Erişim anahtarlarını almak için Kaynak menüsünden Kimlik Doğrulaması'nı seçin. Ardından Erişim tuşları sekmesini seçin.

    Redis için Azure Cache erişim anahtarlarını gösteren ekran görüntüsü.

Çalışma ortamını ayarlama

Aşağıdaki adımlarda Java uygulaması için çalışma ortamının nasıl ayarlanacağı gösterilmektedir.

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

Yer tutucuları aşağıdaki değerlerle değiştirin:

  • <your-host-name>: DNS ana bilgisayar adı. Önbelleğinizin ana bilgisayar adını ve bağlantı noktalarını almak için Kaynak menüsünden Genel Bakış'ı seçin. Ana bilgisayar adı biçimindedir <DNS name>.redis.cache.windows.net.

    Redis için Azure Cache özelliklerini gösteren ekran görüntüsü.

  • <your-client-id>: Azure AD uygulama kaydınızın uygulama (istemci) kimliği.

  • <your-client-secret>: Azure AD uygulama kaydınızın istemci gizli anahtarı.

  • <your-tenant-id>: Azure Active Directory kiracı kimliğiniz.

    Uyarı

    Yukarıdaki örnekte istemci gizli anahtarı kimlik doğrulaması kullanılır. Ayrıca, kodunuzdaki redis-authx-entraid yapılandırmasını değiştirerek EntraIDTokenAuthConfigBuilder kitaplığı yönetilen kimlik veya istemci sertifikası gibi diğer kimlik doğrulama yöntemlerini kullanacak şekilde yapılandırabilirsiniz.


Yeni bir Java uygulaması oluşturma

  1. Maven kullanarak yeni bir hızlı başlangıç uygulaması oluşturun:

    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. Yeni redis-jedis-test proje dizinine geçin.

  3. pom.xml dosyasını açın. Dosyada Jedi'lar için bir bağımlılık görürsünüz:

    Uyarı

    Microsoft, Redis, Inc. ile bir ortaklık kurdu. Bu işbirliği kapsamında Microsoft Entra Id kimlik doğrulaması desteği Azure SDK'dan Redis Entra Id uzantılarına taşındı. Yeni redis-authx-entraid kitaplık gelişmiş kimlik doğrulama özellikleri sağlar ve Redis için Azure Cache ile Microsoft Entra ID kimlik doğrulaması için önerilen yaklaşımdır.

    <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 dosyasını kapatın.

  5. App.java açın ve aşağıdaki kodu içeren kodu görün:

    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();
        }
    }
    

    Bu kod, önbellek ana bilgisayar adını ve anahtar ortam değişkenlerini kullanarak bir Redis için Azure Cache örneğine nasıl bağlanabileceğinizi gösterir. Kod ayrıca önbellekte bir dize değeri depolar ve alır. Komutlar PING da yürütülür.

  6. App.java dosyasını kapatın.

Uygulamayı derleme ve çalıştırma

Uygulamayı derlemek ve çalıştırmak için aşağıdaki Maven komutunu yürütün:

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

Aşağıdaki çıkışta anahtarın Message daha önce önbelleğe alınmış bir değere sahip olduğunu görebilirsiniz. değeri kullanılarak jedis.setyeni bir değere güncelleştirildi. Uygulama ayrıca PING komutlarını yürüttü.

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!

Kaynakları temizle

Sonraki öğreticiye devam etmek istiyorsanız, bu hızlı başlangıçta oluşturulan kaynakları tutabilir ve yeniden kullanabilirsiniz.

Aksi takdirde, hızlı başlangıç örnek uygulamasıyla işiniz bittiyse ücretlerden kaçınmak için bu hızlı başlangıçta oluşturulan Azure kaynaklarını silebilirsiniz.

Önemli

Bir kaynak grubunu silme işlemi geri alınamaz ve kaynak grubunun ve içindeki tüm kaynaklar kalıcı olarak silinir. Yanlış kaynak grubunu veya kaynakları yanlışlıkla silmediğinizden emin olun. Bu örneği tutmak istediğiniz kaynakları içeren mevcut bir kaynak grubunda barındırmak için kaynakları oluşturduysanız, kaynak grubunu silmek yerine her kaynağı tek tek silebilirsiniz.

  1. Azure portalında oturum açın ve Kaynak grupları’nı seçin.

  2. Ada göre filtrele metin kutusuna kaynak grubunuzun adını yazın. Bu makalenin yönergelerinde adlı TestResourcesbir kaynak grubu kullanılmıştır. Sonuç listesindeki kaynak grubunuzda Test Kaynakları'nı ve ardından Kaynak grubunu sil'i seçin.

    Kaynak grubunu sil düğmesinin vurgulandığı Kaynak grubu sayfasını gösteren Azure portalının ekran görüntüsü.

  3. Silme işlemini onaylamak için kaynak grubunuzun adını yazın ve sil'i seçin.

Birkaç dakika sonra kaynak grubu ve içerdiği kaynakların tümü silinir.

Sonraki Adımlar

Bu hızlı başlangıçta bir Java uygulamasından Redis için Azure Cache kullanmayı öğrendiniz. bir ASP.NET web uygulamasıyla Redis için Azure Cache kullanmak için sonraki hızlı başlangıca geçin.