Bagikan melalui


Mulai cepat: Menggunakan Azure Managed Redis di Java dengan klien Jedis Redis

Dalam panduan singkat ini, Anda memasukkan Azure Managed Redis ke dalam aplikasi Java menggunakan klien Jedis Redis. Cache Anda adalah cache khusus yang aman yang dapat diakses dari aplikasi apa pun di Azure.

Langsung ke kode pada GitHub

Klon repositori Java quickstart di GitHub.

Prasyarat

Membuat instans terkelola Azure Redis

  1. Untuk membuat instans Azure Managed Redis, masuk ke portal Microsoft Azure dan pilih Buat sumber daya.

  2. Pada halaman Buat sumber daya , ketik Azure Managed Redis di kotak pencarian.

  3. Pilih petak peta Azure Managed Redis dan pilih Buat.

  4. Pada panel Buat instans Azure Managed Redis , konfigurasikan pengaturan untuk cache baru pada tab Dasar .

    Pengaturan Pilih nilai Deskripsi
    Abonemen Buka menu drop-down dan pilih langganan Anda. Langganan yang digunakan untuk membuat instans Azure Managed Redis baru ini.
    grup Sumber Daya Buka drop down dan pilih grup sumber daya, atau pilih Buat baru dan masukkan nama grup sumber daya baru. Nama untuk grup sumber daya tempat membuat cache dan sumber daya lainnya. Dengan menyatukan semua sumber daya aplikasi dalam satu grup sumber daya, Anda dapat dengan mudah mengelola atau menghapusnya sekaligus.
    Nama Masukkan nama yang unik di wilayah ini. Nama cache harus berupa string antara 1 dan 63 karakter jika dikombinasikan dengan nama wilayah cache yang hanya berisi angka, huruf, atau tanda hubung. (Jika nama cache kurang dari 45 karakter, maka nama cache tersebut akan berfungsi di semua wilayah yang saat ini tersedia.) Nama harus dimulai dan diakhiri dengan angka atau huruf, dan tidak boleh mengandung tanda hubung berturut-turut. Nama host instans cache Anda adalah \<DNS name\>.\<Azure region\>.redis.azure.net.
    Wilayah Buka menu tarik-turun dan pilih lokasi. Azure Managed Redis tersedia di wilayah Azure yang dipilih.
    Lapisan data Pilih Dalam memori untuk performa tinggi, atau Flash untuk cache performa yang lebih rendah Tingkat dalam memori mencakup Seimbang, Memori Dioptimalkan, dan Komputasi Dioptimalkan. Gunakan tingkat Flash untuk menggunakan penyimpanan data dalam memori (RAM) dan pada disk (SSD).
    Ukuran Cache Turun bawah dan pilih ukuran. Ukuran cache tergantung pada tingkatan. Ukuran terkecil adalah tingkatan Seimbang. Ukuran tingkat dalam memori terbesar adalah tingkat Memori yang Dioptimalkan.
    Kinerja Turun bawah dan pilih preferensi performa. Performa tergantung pada jumlah vCPU. Jumlah vCPU bervariasi menurut tingkatan. Compute Optimized memiliki vCPU terbanyak.

    Untuk panduan tentang memilih tingkat performa yang tepat, lihat Memilih tingkat yang tepat.

    Penting

    Semua tier memori yang menggunakan penyimpanan lebih dari 350 GB berada di Pratinjau Umum, termasuk Memori yang Dioptimalkan M500 dan lebih tinggi; Seimbang B500 dan lebih tinggi; dan Komputasi yang Dioptimalkan X500 dan lebih tinggi. Semua tingkatan ini dan yang lebih tinggi lagi tersedia dalam Pratinjau Publik.

    Semua tingkatan yang dioptimalkan untuk Flash berada dalam Pratinjau Umum.

  5. Pilih Berikutnya: Jaringan , dan pilih Nonaktifkan akses publik dan gunakan akses privat atau Aktifkan akses publik dari semua jaringan.

  6. Pilih Berikutnya: Replikasi geografis aktif. Untuk menggunakan replikasi geografis aktif, replikasi harus diaktifkan selama provisioning. Cache tanpa replikasi geografis aktif tidak dapat ditambahkan ke atau bergabung dengan grup replikasi geografis aktif nanti. Untuk informasi selengkapnya, lihat Mengonfigurasi replikasi geografis aktif untuk instans Azure Managed Redis.

  7. Pilih tab Berikutnya: Tingkat Lanjut .

    Konfigurasikan modul Redis apa pun yang ingin Anda tambahkan ke instans.

    Atur kebijakan Pengklusteran:

    • Gunakan Enterprise untuk menggunakan RedisSearch atau modul lainnya
    • Gunakan OSS untuk cache terkluster.
    • Gunakan Tidak Berkluster (Pratinjau) untuk cache tidak berkluster.

    Untuk informasi selengkapnya tentang memilih kebijakan Pengklusteran, lihat Kebijakan kluster.

    Secara default, untuk cache terkelola baru:

    • ID Microsoft Entra diaktifkan.
    • Autentikasi Kunci Akses dinonaktifkan karena alasan keamanan.

    Penting

    Anda tidak dapat mengubah modul setelah membuat instans cache. Modul harus diaktifkan pada saat Anda membuat instans Azure Managed Redis. Tidak ada opsi untuk mengaktifkan konfigurasi modul setelah Anda membuat cache.

    Penting

    Untuk keamanan yang optimal, kami sarankan Anda menggunakan ID Microsoft Entra dengan identitas terkelola untuk mengotorisasi permintaan terhadap cache Anda jika memungkinkan. Otorisasi dengan menggunakan ID Microsoft Entra dan identitas terkelola memberikan keamanan yang unggul dan kemudahan penggunaan melalui otorisasi kunci akses bersama. Untuk informasi selengkapnya tentang menggunakan identitas terkelola dengan cache Anda, lihat Menggunakan ID Microsoft Entra untuk autentikasi cache.

    Penting

    Anda tidak dapat mengubah kebijakan pengklusteran instans Azure Managed Redis setelah membuatnya. Jika Anda menggunakan RediSearch, kebijakan kluster Enterprise diperlukan, dan NoEviction merupakan satu-satunya kebijakan pengeluaran yang didukung.

    Penting

    Jika Anda menggunakan instans cache ini dalam grup replikasi geografis, kebijakan pengeluaran tidak dapat diubah setelah instans dibuat. Pastikan untuk mengetahui kebijakan pengeluaran node utama Anda sebelum membuat cache tersebut. Untuk informasi selengkapnya tentang replikasi geografis aktif, lihat Prasyarat replikasi geografis aktif.

  8. Pilih Berikutnya: Tag dan lewati.

  9. Pilih Berikutnya: Tinjau + buat.

  10. Tinjau pengaturan akhir, dan pilih Buat.

    Dibutuhkan beberapa menit untuk membuat instans Redis. Anda dapat memantau kemajuan di halaman Gambaran Umum Azure Managed Redis. Ketika Status muncul sebagai Sedang Berjalan, cache siap digunakan.

Menyiapkan lingkungan kerja

Langkah-langkah berikut menunjukkan kepada Anda cara menyiapkan lingkungan kerja untuk aplikasi Java.

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

Ganti tanda pengganti dengan nilai berikut:

  • <your-host-name>: Nama host DNS. Untuk mendapatkan nama host dan port untuk cache Anda, pilih Gambaran Umum dari menu Sumber Daya . Nama host berformat <DNS name>.redis.cache.windows.net.

    Cuplikan layar memperlihatkan properti Azure Cache for Redis.

  • <your-client-id>: ID aplikasi (klien) pendaftaran aplikasi Microsoft Azure ACTIVE Directory Anda.

  • <your-client-secret>: Rahasia klien dari pendaftaran aplikasi Azure Active Directory Anda.

  • <your-tenant-id>: ID penyewa Azure Active Directory Anda.

    Nota

    Contoh di atas menggunakan autentikasi rahasia klien. Anda juga dapat mengonfigurasi redis-authx-entraid pustaka untuk menggunakan metode autentikasi lain seperti identitas terkelola atau sertifikat klien dengan memodifikasi EntraIDTokenAuthConfigBuilder konfigurasi dalam kode Anda.

Membuat aplikasi Java baru

  1. Gunakan maven untuk membuat aplikasi mulai cepat baru:

    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. Ubah ke direktori proyek redis-jedis-test baru.

  3. Buka file pom.xml. Dalam file, Anda melihat dependensi untuk Jedis:

    Nota

    Microsoft telah melakukan kemitraan dengan Redis, Inc. Sebagai bagian dari kolaborasi ini, dukungan autentikasi ID Microsoft Entra telah dipindahkan dari Azure SDK ke ekstensi ID Redis Entra. Pustaka baru redis-authx-entraid menyediakan kemampuan autentikasi yang ditingkatkan dan merupakan pendekatan yang direkomendasikan untuk autentikasi ID Microsoft Entra dengan Azure Managed 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. Tutup file pom.xml.

  5. Buka App.java dan cari kode dengan kode berikut:

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

    Kode ini menunjukkan kepada Anda cara menyambungkan ke instans Azure Managed Redis menggunakan nama host cache dan variabel lingkungan kunci. Kode ini juga menyimpan dan mengambil nilai string dalam cache. Perintah PING juga dieksekusi.

  6. Tutup file App.java.

Membuat dan menjalankan aplikasi

Jalankan perintah Maven berikut untuk membuat dan menjalankan aplikasi:

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

Dalam output berikut, Anda dapat melihat bahwa Message kunci sebelumnya memiliki nilai cache. Nilai diperbarui ke nilai baru menggunakan jedis.set. Aplikasi ini juga menjalankan perintah 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!

Membersihkan sumber daya

Jika Anda berencana untuk melanjutkan tutorial berikutnya, Anda dapat menyimpan sumber daya yang dibuat dalam panduan cepat ini dan menggunakannya kembali.

Selain itu, jika Anda sudah selesai dengan aplikasi sampel quickstart, Anda dapat menghapus sumber daya Azure yang dibuat di quickstart ini untuk menghindari terkena biaya.

Penting

Menghapus grup sumber daya tidak bisa dibatalkan dan grup sumber daya serta semua sumber daya di dalamnya akan dihapus secara permanen. Pastikan Anda tidak salah menghapus grup sumber daya atau sumber daya secara tidak sengaja. Jika Anda membuat sumber daya untuk menghosting sampel ini di dalam grup sumber daya yang ada yang berisi sumber daya yang ingin Anda simpan, Anda dapat menghapus setiap sumber daya satu per satu alih-alih menghapus grup sumber daya.

  1. Masuk ke portal Microsoft Azure, lalu pilih Grup sumber daya.

  2. Di kotak teks Filter menurut nama, ketik nama grup sumber daya Anda. Instruksi untuk artikel ini menggunakan grup sumber daya bernama TestResources. Pada grup sumber daya Anda dalam daftar hasil, pilih Uji Sumber Daya lalu Hapus grup sumber daya.

    Cuplikan layar portal Azure yang memperlihatkan halaman Grup sumber daya dengan tombol Hapus grup sumber daya disorot.

  3. Ketik nama grup sumber daya Anda untuk mengonfirmasi penghapusan lalu pilih Hapus.

Setelah beberapa saat, grup sumber daya dan semua sumber daya di dalamnya akan dihapus.

Langkah selanjutnya

Dalam panduan cepat ini, Anda mempelajari cara menggunakan Azure Managed Redis dari aplikasi Java.