Mengatur instans Azure Cache for Redis

Azure Cache for Redis memiliki penawaran tingkat berbeda yang memberikan fleksibilitas dalam pilihan ukuran dan fitur cache. Melalui penskalaan, Anda dapat mengubah ukuran, tingkat, dan jumlah simpul setelah membuat instans cache agar sesuai dengan kebutuhan aplikasi Anda. Artikel ini memperlihatkan kepada Anda cara menskalakan cache Anda menggunakan portal Azure, ditambah alat seperti Azure PowerShell dan Azure CLI.

Jenis penskalaan

Pada dasarnya ada dua cara untuk menskalakan Instans Azure Cache for Redis:

  • Peningkatan skala meningkatkan ukuran Komputer Virtual (VM) yang menjalankan server Redis, menambahkan lebih banyak memori, CPU Virtual (vCPU), dan bandwidth jaringan. Peningkatan skala juga disebut penskalakan vertikal. Kebalikan dari peningkatan skala adalah menurunkan skala.

  • Penskalaan membagi instans cache menjadi lebih banyak simpul dengan ukuran yang sama, meningkatkan memori, vCPU, dan bandwidth jaringan melalui paralelisasi. Peluasan skala juga disebut sebagai penskalakan horizontal atau sharding. Kebalikan dari penskalaan keluar adalah Penskalaan masuk Di komunitas Redis, peluasan skala sering disebut pengklusteran.

Cakupan ketersediaan

Tingkat Dasar dan Standar Premium Enterprise dan Enterprise Flash
Meningkatkan skala Ya Ya Yes (pratinjau)
Penurunan Skala Ya Ya Tidak
SQL Server Integration Services Scale Out Tidak Ya Yes (pratinjau)
Menskalakan Masuk Tidak Ya Tidak

Kapan harus menskalakan

Anda dapat menggunakan fitur pemantauan Azure Cache for Redis untuk memantau kesehatan dan performa cache Anda. Gunakan informasi tersebut untuk menentukan kapan harus menskalakan cache.

Anda dapat memantau metrik berikut untuk menentukan apakah Anda perlu menskalakan.

  • Muat Server Redis
    • Beban server Redis tinggi berarti bahwa server tidak dapat mengimbangi permintaan dari semua klien. Karena server Redis adalah proses berulir tunggal, biasanya lebih membantu untuk meluaskan skala daripada meningkatkan skala. Penskalaan dengan mengaktifkan pengklusteran membantu mendistribusikan fungsi overhead di beberapa proses Redis. Penskalaan juga membantu mendistribusikan enkripsi/dekripsi TLS dan koneksi/pemutusan sambungan, mempercepat instans cache menggunakan TLS.
    • Peningkatan skala masih dapat membantu dalam mengurangi beban server karena tugas latar belakang dapat memanfaatkan lebih banyak vCPU dan membebaskan utas untuk proses server Redis utama.
    • Tingkat Enterprise dan Enterprise Flash menggunakan Redis Enterprise daripada sumber terbuka Redis. Salah satu keuntungan dari tingkatan ini adalah bahwa proses server Redis dapat memanfaatkan beberapa vCPU. Karena itu, peningkatan dan penskalaan di tingkat ini dapat membantu dalam mengurangi beban server. Untuk informasi selengkapnya, lihat Praktik Terbaik untuk tingkat Enterprise dan Enterprise Flash azure Cache for Redis.
  • Penggunaan Memori
    • Penggunaan memori tinggi menunjukkan bahwa ukuran data Anda terlalu besar untuk ukuran cache saat ini. Pertimbangkan untuk menskalakan ke ukuran cache dengan memori yang lebih besar. Peningkatan skala atau peluasan skala efektif di sini.
  • Koneksi klien
    • Setiap ukuran cache memiliki batas jumlah koneksi klien yang dapat didukungnya. Jika koneksi klien Anda mendekati batas ukuran cache, pertimbangkan untuk meningkatkan skala ke tingkat yang lebih besar. Penskalaan keluar tidak meningkatkan jumlah koneksi klien yang didukung.
    • Untuk informasi selengkapnya tentang batas koneksi menurut ukuran cache, lihat Harga Azure Cache for Redis.
  • Bandwidth Jaringan
    • Jika server Redis melebihi bandwidth yang tersedia, permintaan klien dapat mengalami waktu habis karena server tidak dapat mendorong data ke klien dengan cukup cepat. Metrik "Cache Baca" dan "Cache Tulis" dapat digunakan untuk melihat berapa banyak bandwidth sisi server yang sedang digunakan. Jika server Redis Anda melebihi bandwidth jaringan yang tersedia, Anda harus mempertimbangkan untuk meluaskan skala atau meningkatkan skala ke ukuran cache yang lebih besar dengan bandwidth jaringan yang lebih tinggi.
    • Untuk cache tingkat Perusahaan menggunakan kebijakan kluster Enterprise, penskalaan tidak meningkatkan bandwidth jaringan.
    • Untuk informasi selengkapnya tentang bandwidth yang tersedia di jaringan berdasarkan ukuran cache, lihat FAQ perencanaan paket Azure Cache for Redis.

Untuk informasi selengkapnya tentang cara menentukan tingkat harga cache mana yang akan digunakan, lihat Memilih tingkat yang tepat dan FAQ perencanaan paket Azure Cache for Redis.

Catatan

Untuk informasi selengkapnya tentang cara mengoptimalkan proses penskalaan, lihat praktik terbaik untuk panduan penskalaan

Prasyarat/batasan penskalaan Azure Cache for Redis

Anda dapat meningkatkan/menurunkan skala ke tingkat harga yang berbeda dengan batasan berikut:

  • Anda tidak dapat menurunkan skala dari tingkat harga yang lebih tinggi ke tingkat harga yang lebih rendah.
    • Anda tidak dapat menskalakan dari cache Enterprise atau Enterprise Flash ke tingkat lain.
    • Anda tidak dapat menurunkan skala dari cache Premium ke cache Standar atau Dasar.
    • Anda tidak dapat menurunkan skala dari cache Standar ke cache Dasar.
  • Anda dapat menskalakan dari cache Dasar ke cache Standar tetapi Anda tidak dapat mengubah ukurannya secara bersamaan. Jika membutuhkan ukuran yang berbeda, Anda nanti dapat melakukan operasi pengaturan skala ke ukuran yang diinginkan.
  • Anda tidak dapat menaikkan skala dari cache Dasar langsung ke cache Premium. Pertama, atur skala dari Dasar ke Standar dalam satu operasi pengaturan skala, lalu dari Standar ke Premium dalam operasi pengaturan skala berikutnya.
  • Anda tidak dapat menurunkan skala dari ukuran yang lebih besar ke ukuran C0 (250 MB). Namun, Anda dapat menurunkan skala ke ukuran lain dalam tingkat harga yang sama. Misalnya, Anda dapat menurunkan skala dari Standar C5 ke Standar C1.
  • Anda tidak dapat menskalakan dari cache Premium, Standar, atau Dasar hingga cache Enterprise atau Enterprise Flash .
  • Anda tidak dapat menskalakan antara Enterprise dan Enterprise Flash.

Anda dapat menskalakan keluar/masuk dengan batasan berikut:

  • Peluasan skala hanya didukung pada tingkat Premium, Enterprise, dan Enterprise Flash .
  • Skala masuk hanya didukung pada tingkat Premium .
  • Pada tingkat Premium, pengklusteran harus diaktifkan terlebih dahulu sebelum penskalakan masuk atau keluar.
  • Pada tingkat Premium, ada dukungan GA untuk peluasan skala hingga 10 pecahan. Dukungan hingga 30 pecahan dalam pratinjau. (Untuk cache dengan dua replika, batas shard adalah 20. Dengan tiga replika, batas shard adalah 15.)
  • Hanya tingkat Enterprise dan Enterprise Flash yang dapat meningkatkan dan menskalakan secara bersamaan.

Cara menskalakan - Tingkat Dasar, Standar, dan Premium

Meningkatkan dan menurunkan skala menggunakan portal Azure

  1. Untuk menskalakan cache Anda, telusuri ke cache di portal Azure dan pilih Skalakan dari menu Sumber Daya.

    Screenshot showing Scale on the resource menu.

  2. Pilih tingkat harga di panel kerja lalu pilih Pilih.

    Screenshot showing the Azure Cache for Redis tiers.

  3. Saat cache diskalakan ke tingkat baru, pemberitahuan Scaling Redis Cache ditampilkan.

    Screenshot showing the notification of scaling.

  4. Saat pengaturan skala selesai, status berubah dari Pengaturan skala ke Menjalankan.

Catatan

Saat Anda menskalakan cache ke atas atau ke bawah menggunakan portal, pengaturan dan maxfragmentationmemory-reserved secara otomatis menskalakan maxmemory-reserved sebanding dengan ukuran cache. Misalnya, jika maxmemory-reserved diatur ke 3 GB pada cache 6 GB, dan Anda menskalakan ke cache 12 GB, pengaturan akan diperbarui secara otomatis ke 6 GB selama penskalaan. Ketika Anda menurunkan skala, kebalikannya terjadi.

Meningkatkan dan menurunkan skala menggunakan PowerShell

Anda dapat menskalakan instans Azure Cache for Redis dengan PowerShell dengan menggunakan cmdlet Set-AzRedisCache saat Sizeproperti atau Sku dimodifikasi. Contoh berikut menunjukkan cara menskalakan cache bernama myCache ke cache 6 GB di tingkat yang sama.

   Set-AzRedisCache -ResourceGroupName myGroup -Name myCache -Size 6GB

Untuk informasi selengkapnya tentang pengaturan skala dengan PowerShell, lihat Mengatur skala instans Azure Cache for Redis menggunakan PowerShell.

Meningkatkan dan menurunkan skala menggunakan Azure CLI

Untuk menskalakan instans Azure Cache for Redis Anda menggunakan Azure CLI, panggil perintah az redis update . sku.capcity Gunakan properti untuk menskalakan dalam tingkatan, misalnya dari cache Standard C0 ke Standard C1:

az redis update --cluster-name myCache --resource-group myGroup --set "sku.capacity"="2"

Gunakan properti 'sku.name' dan 'sku.family' untuk meningkatkan skala ke tingkat yang berbeda, misalnya dari cache Standard C1 ke cache Premium P1:

az redis update --cluster-name myCache --resource-group myGroup --set "sku.name"="Premium" "sku.capacity"="1" "sku.family"="P"

Untuk informasi selengkapnya tentang pengaturan skala dengan Azure CLI, lihat Mengubah pengaturan Azure Cache for Redis yang ada.

Catatan

Saat Anda menskalakan cache ke atas atau ke bawah secara terprogram (misalnya menggunakan PowerShell atau Azure CLI), salah satu maxmemory-reserved atau maxfragmentationmemory-reserved diabaikan sebagai bagian dari permintaan pembaruan. Hanya perubahan penyekalaan Anda yang diutamakan. Anda dapat memperbarui pengaturan memori ini setelah operasi penyekalaan selesai.

Cara meningkatkan dan memperluas skala - Tingkat Enterprise dan Enterprise Flash

Tingkat Enterprise dan Enterprise Flash dapat meningkatkan dan meluaskan skala dalam satu operasi. Tingkatan lain memerlukan operasi terpisah untuk setiap tindakan.

Perhatian

Tingkat Enterprise dan Enterprise Flash belum mendukung penurunan skala atau skala dalam operasi.

Menskalakan menggunakan portal Azure

  1. Untuk menskalakan cache Anda, telusuri ke cache di portal Azure dan pilih Skalakan dari menu Sumber Daya.

    Screenshot showing Scale selected in the Resource menu for an Enterprise cache.

  2. Untuk meningkatkan skala, pilih jenis Cache yang berbeda lalu pilih Simpan.

    Penting

    Anda hanya dapat meningkatkan skala saat ini. Anda tidak dapat menurunkan skala.

    Screenshot showing the Enterprise tiers in the working pane.

  3. Untuk meluaskan skala, tingkatkan penggerak Kapasitas . Peningkatan kapasitas dalam kenaikan dua. Jumlah ini mencerminkan berapa banyak simpul Redis Enterprise yang mendasar yang ditambahkan. Angka ini selalu merupakan kelipatan dari dua untuk mencerminkan simpul yang ditambahkan untuk pecahan primer dan replika.

    Penting

    Anda hanya dapat meluaskan skala, meningkatkan kapasitas, saat ini. Anda tidak dapat menskalakan masuk.

    Screenshot showing Capacity in the working pane a red box around it.

  4. Saat cache diskalakan ke tingkat baru, pemberitahuan Scaling Redis Cache ditampilkan.

    Screenshot showing notification of scaling an Enterprise cache.

  5. Saat pengaturan skala selesai, status berubah dari Pengaturan skala ke Menjalankan.

Mengatur skala menggunakan PowerShell

Anda dapat menskalakan instans Azure Cache for Redis dengan PowerShell dengan menggunakan cmdlet Update-AzRedisEnterpriseCache . Anda dapat memodifikasi Sku properti untuk meningkatkan skala instans. Anda dapat memodifikasi Capacity properti untuk memperluas skala instans. Contoh berikut menunjukkan cara menskalakan cache bernama myCache ke instans Enterprise E20 (25 GB) dengan kapasitas 4.

   Update-AzRedisEnterpriseCache -ResourceGroupName myGroup -Name myCache -Sku Enterprise_E20 -Capacity 4

Atur skala menggunakan Azure CLI

Untuk menskalakan instans Azure Cache for Redis Anda menggunakan Azure CLI, panggil perintah az redisenterprise update . Anda dapat memodifikasi sku properti untuk meningkatkan skala instans. Anda dapat memodifikasi capacity properti untuk memperluas skala instans. Contoh berikut menunjukkan cara menskalakan cache bernama myCache ke instans Enterprise E20 (25 GB) dengan kapasitas 4.

az redisenterprise update --cluster-name "myCache" --resource-group "myGroup" --sku "Enterprise_E20" --capacity 4

Tanya Jawab Umum terkait pengaturan skala

Daftar berikut ini berisi jawaban atas pertanyaan umum tentang pengaturan skala Azure Cache for Redis.

Dapatkah saya mengatur skala ke, dari, atau dalam cache Premium?

  • Anda tidak dapat menurunkan skala dari cache Premium ke tingkat harga Dasar atau Standar.
  • Anda dapat mengatur skala dari satu tingkat harga cache Premium ke tingkat lainnya.
  • Anda tidak dapat menaikkan skala dari cache Dasar langsung ke cache Premium. Pertama, atur skala dari Dasar ke Standar dalam satu operasi pengaturan skala, lalu dari Standar ke Premium dalam operasi pengaturan skala berikutnya.
  • Anda tidak dapat menskalakan dari cache Premium ke cache Enterprise atau Enterprise Flash .
  • Jika Anda mengaktifkan pengklusteran saat membuat cache Premium , Anda dapat mengubah ukuran kluster. Jika cache Anda dibuat tanpa mengaktifkan pengklusteran, Anda dapat mengonfigurasi pengklusteran di lain waktu.

Setelah pengaturan skala, apakah saya harus mengubah nama cache atau tombol akses saya?

Tidak, nama dan kunci cache Anda tidak berubah selama operasi pengaturan skala.

Bagaimana cara kerja pengaturan skala?

  • Saat Anda menskalakan cache Dasar ke ukuran yang berbeda, cache dimatikan, dan cache baru disediakan menggunakan ukuran baru. Selama waktu ini, cache tidak tersedia dan semua data dalam cache hilang.
  • Saat cache Dasar diatur skalanya ke cache Standar, cache replika disediakan dan data disalin dari cache utama ke cache replika. Cache tetap tersedia selama proses pengaturan skala.
  • Saat Anda menskalakan cache Standard, Premium, Enterprise, atau Enterprise Flash ke ukuran yang berbeda, salah satu replika dimatikan dan diprovisikan ulang ke ukuran baru dan data yang ditransfer, dan kemudian replika lainnya melakukan failover sebelum diprovisikan ulang, mirip dengan proses yang terjadi selama kegagalan salah satu simpul cache.
  • Saat Anda menghapus cache dalam kluster, shard baru akan diprovisikan dan ditambahkan ke kluster server Redis. Data kemudian dipartisi ulang di semua shard.
  • Saat Anda melakukan penskalaan pada cache dalam kluster, data pertama akan dipartisi ulang dan kemudian ukuran cluster dikurangi menjadi shard yang diperlukan.
  • Dalam beberapa kasus, seperti menskalakan atau memigrasikan cache Anda ke kluster yang berbeda, alamat IP cache yang mendasarinya dapat berubah. Catatan DNS untuk cache berubah dan transparan untuk sebagian besar aplikasi. Namun, jika Anda menggunakan alamat IP untuk mengonfigurasi koneksi ke cache Anda, atau untuk mengonfigurasi NSG, atau firewall yang memungkinkan lalu lintas ke cache, aplikasi Anda mungkin mengalami masalah saat menyambungkan setelah catatan DNS diperbarui.

Apakah saya kehilangan data dari cache saya selama penskalakan?

  • Saat cache Dasar diatur skalanya ke ukuran baru, semua data akan hilang dan cache tidak tersedia selama operasi penskalaan.
  • Saat cache Dasar diatur skalanya ke cache Standar, data dalam cache biasanya dipertahankan.
  • Saat Anda menskalakan cache Standard, Premium, Enterprise, atau Enterprise Flash ke ukuran yang lebih besar, semua data biasanya dipertahankan. Saat Anda menskalakan cache Standar atau Premium ke ukuran yang lebih kecil, data dapat hilang jika ukuran data melebihi ukuran baru yang lebih kecil saat diperkecil. Jika data hilang saat menurunkan skala, kunci dipaksa keluar menggunakan kebijakan eviction allkeys-lru.

Dapatkah saya menggunakan semua fitur tingkat Premium setelah penskalaan?

Tidak, beberapa fitur hanya dapat diatur saat Anda membuat cache di tingkat Premium, dan tidak tersedia setelah penskalakan.

Fitur-fitur ini tidak dapat ditambahkan setelah Anda membuat cache Premium:

  • Injeksi VNet
  • Menambahkan redundansi zona
  • Menggunakan beberapa replika per primer

Untuk menggunakan salah satu fitur ini, Anda harus membuat instans cache baru di tingkat Premium.

Apakah pengaturan database kustom saya terpengaruh selama pengaturan skala?

Jika Anda mengonfigurasi nilai kustom untuk pengaturan databases selama pembuatan cache, perlu diingat bahwa beberapa tingkat harga memiliki batas database yang berbeda. Berikut beberapa pertimbangan saat pengaturan skala dalam skenario ini:

  • Saat Anda menskalakan ke tingkat harga dengan batas yang lebih rendah databases dari tingkat saat ini:
    • Jika Anda menggunakan nomor default databases, yaitu 16 untuk semua tingkatan harga, tidak ada data yang hilang.
    • Jika Anda menggunakan nomor kustom databases yang termasuk dalam batas tingkat yang Anda impor, pengaturan databases ini disipman dan tidak ada data yang hilang.
    • Jika Anda menggunakan jumlah kustom databases yang melebihi batas tingkat baru, pengaturan databases diturunkan ke batas tingkat baru dan semua data dalam database yang dihapus hilang.
  • Saat mengatur skala ke tingkat harga dengan batas databases yang sama atau lebih tinggi dari tingkat saat ini, pengaturan databases Anda disimpan dan tidak ada data yang hilang.

Meskipun cache Standard, Premium, Enterprise, dan Enterprise Flash memiliki SLA untuk ketersediaan, tidak ada SLA untuk kehilangan data.

Apakah cache saya akan tersedia selama pengaturan skala?

  • Cache Standar, Premium, Enterprise, dan Enterprise Flash tetap tersedia selama operasi penskalakan. Namun, blip koneksi dapat terjadi saat menskalakan cache ini, dan juga saat menskalakan dari cache Dasar ke Standar . Blip koneksi ini diharapkan menjadi klien kecil dan redis umumnya dapat membangun kembali koneksinya secara instan.
  • Untuk cache Enterprise dan Enterprise Flash menggunakan replikasi geografis aktif, hanya menskalakan subset cache tertaut yang dapat memperkenalkan masalah dari waktu ke waktu dalam beberapa kasus. Sebaiknya skalakan semua cache dalam grup replikasi geografis bersama-sama jika memungkinkan.
  • Cache Dasar offline selama operasi pengaturan skala ke ukuran yang berbeda. Cache dasar tetap tersedia saat melakukan penskalaan dari Dasar ke Standar tetapi mungkin akan mengalami blip koneksi kecil. Jika blip koneksi terjadi, klien Redis umumnya dapat seketika membangun kembali koneksinya.

Apakah ada batasan penskalaan dengan geo-replikasi?

Dengan replikasi geografis pasif yang dikonfigurasi, Anda mungkin melihat bahwa Anda tidak dapat menskalakan cache atau mengubah pecahan dalam kluster. Tautan geo-replikasi antara dua cache mencegah Anda melakukan operasi penskalaan atau mengubah jumlah shard dalam kluster. Anda harus membatalkan tautan cache untuk mengeluarkan perintah ini. Untuk informasi selengkapnya, lihat Mengonfigurasi replikasi Geografis.

Dengan replikasi geografis aktif yang dikonfigurasi, Anda tidak dapat menskalakan cache. Semua cache dalam grup replikasi geografis harus berukuran dan kapasitas yang sama.

Operasi yang tidak didukung

  • Anda tidak dapat menurunkan skala dari tingkat harga yang lebih tinggi ke tingkat harga yang lebih rendah.
    • Anda tidak dapat menurunkan skala dari cache Premium ke cache Standar atau Dasar.
    • Anda tidak dapat menurunkan skala dari cache Standar ke cache Dasar.
  • Anda dapat menskalakan dari cache Dasar ke cache Standar tetapi Anda tidak dapat mengubah ukurannya secara bersamaan. Jika Anda membutuhkan ukuran yang berbeda, Anda dapat melakukan operasi pengaturan skala dengan ukuran yang Anda inginkan di lain waktu.
  • Anda tidak dapat menaikkan skala dari cache Dasar langsung ke cache Premium. Pertama, atur skala dari Dasar ke Standar dalam satu operasi penskalaan, lalu atur skala dari Standar ke Premium dalam operasi penskalaan berikutnya.
  • Anda tidak dapat menskalakan dari cache Premium ke cache Enterprise atau Enterprise Flash .
  • Anda tidak dapat menurunkan skala dari ukuran yang lebih besar ke ukuran C0 (250 MB).

Jika operasi pengaturan skala gagal, layanan mencoba mengembalikan operasi, dan cache akan kembali ke ukuran aslinya.

Berapa lama waktu yang dibutuhkan untuk pengaturan skala?

Waktu penskalaan bergantung pada beberapa faktor. Berikut adalah beberapa faktor yang dapat memengaruhi waktu yang diperlukan untuk penskalaan.

  • Jumlah data: Jumlah data yang lebih besar membutuhkan waktu lebih lama untuk direplikasi
  • Permintaan tulis yang tinggi: Jumlah operasi tulis yang lebih tinggi berarti lebih banyak data direplikasi di seluruh simpul atau shard
  • Beban server yang tinggi: Beban server yang lebih tinggi berarti server Redis sibuk dan memiliki siklus CPU terbatas untuk menyelesaikan redistribusi data

Umumnya, ketika Anda menskalakan cache tanpa data, dibutuhkan waktu sekitar 20 menit. Untuk cache dalam kluster, penskalaan membutuhkan waktu sekitar 20 menit per shard dengan data minimal.

Bagaimana cara mengetahui kapan pengaturan skala selesai?

Di portal Microsoft Azure, Anda dapat melihat operasi pengaturan skala yang sedang berlangsung. Saat pengaturan skala selesai, status cache berubah menjadi Berjalan.

Apakah saya perlu membuat perubahan pada aplikasi klien saya untuk menggunakan pengklusteran?

Penting

Saat menggunakan tingkat Enterprise atau Enterprise FLash, Anda diberi pilihan Mode Kluster OSS atau Mode Kluster Perusahaan. Mode Kluster OSS sama dengan pengklusteran pada tingkat Premium dan mengikuti spesifikasi pengklusteran sumber terbuka. Mode Kluster Perusahaan bisa kurang berkinerja, tetapi menggunakan pengklusteran Redis Enterprise yang tidak memerlukan perubahan klien untuk digunakan. Untuk informasi selengkapnya, lihat Pengklusteran di Enterprise.

Bagaimana kunci didistribusikan dalam kluster?

Sesuai dokumentasi Redis tentang model distribusi Kunci: Ruang kunci dibagi menjadi 16.384 slot. Setiap kunci di-hash dan ditetapkan ke salah satu slot ini, yang didistribusikan di seluruh simpul kluster. Anda dapat mengonfigurasi bagian kunci mana yang di-hash untuk memastikan bahwa beberapa kunci terletak di shard yang sama menggunakan tag hash.

  • Kunci dengan tag hash - jika ada bagian kunci yang dimasukkan dalam { dan }, hanya bagian kunci tersebut yang di-hash untuk tujuan menentukan slot hash kunci. Misalnya, tiga kunci berikut terletak di shard yang sama: {key}1, {key}2, dan {key}3 karena hanya bagian key dari nama yang di-hash. Untuk daftar lengkap spesifikasi tag hash kunci, lihat Tag hash kunci.
  • Kunci tanpa tag hash - seluruh nama kunci digunakan untuk hashing yang menghasilkan distribusi yang merata secara statistik di seluruh pecahan cache.

Untuk performa dan throughput terbaik, sebaiknya distribusikan kunci secara merata. Jika Anda menggunakan kunci dengan tag hash, aplikasi bertanggung jawab untuk memastikan kunci didistribusikan secara merata.

Untuk informasi selengkapnya, lihat Model distribusi kunci, Sharding data Redis Cluster, dan Tag hash kunci.

Untuk contoh kode tentang bekerja dengan pengklusteran dan mencari kunci dalam shard yang sama dengan klien StackExchange.Redis, lihat bagian clustering.cs dari sampel Halo Dunia.

Berapa ukuran cache terbesar yang bisa saya buat?

Ukuran cache terbesar yang dapat Anda miliki adalah 4,5 TB. Hasil ini adalah cache F1500 berkluster dengan kapasitas 9. Untuk informasi selengkapnya, lihat Harga Azure Cache for Redis.

Apakah semua klien Redis mendukung pengklusteran?

Banyak klien pustaka mendukung pengklusteran Redis, tetapi tidak semua. Periksa dokumentasi untuk pustaka yang Anda gunakan untuk memverifikasi bahwa Anda menggunakan pustaka dan versi yang mendukung pengklusteran. StackExchange.Redis adalah salah satu library yang mendukung pengklusteran, dalam versi yang lebih baru. Untuk informasi selengkapnya tentang klien lain, lihat bagian Bermain dengan kluster dari Tutorial kluster Redis.

Protokol pengklusteran Redis mengharuskan setiap klien untuk tesambung ke setiap shard secara langsung dalam mode pengklusteran, dan juga mendefinisikan respons kesalahan baru seperti 'MOVED' na 'CROSSSLOTS'. Saat Anda mencoba menggunakan klien pustaka yang tidak mendukung pengklusteran dengan cache mode kluster, hasilnya bisa banyak pengecualian pengalihan MOVED, atau hanya merusak aplikasi Anda jika Anda melakukan permintaan multi-kunci lintas slot.

Catatan

Jika Anda menggunakan StackExchange.Redis sebagai klien Anda, verifikasi bahwa Anda menggunakan versi terbaru StackExchange.Redis 1.0.481 atau yang lebih baru agar pengklusteran berfungsi dengan benar. Untuk informasi selengkapnya mengenai masalah dengan pengecualian pemindahan, lihat pengecualian pemindahan.

Bagaimana cara menyambungkan ke cache saya saat pengklusteran diaktifkan?

Anda tersambung ke cache menggunakan titik akhir, port, dan kunci yang sama dengan yang Anda gunakan saat menyambungkan ke cache yang tidak mengaktifkan pengklusteran. Redis mengelola pengklusteran di backend sehingga Anda tidak perlu mengelolanya dari klien Anda.

Bisakah saya langsung tersambung ke shard individual cache saya?

Protokol pengelompokan mengharuskan klien untuk membuat koneksi pecahan yang benar sehingga klien harus membuat koneksi berbagi untuk Anda. Dengan demikian, setiap shard terdiri dari pasangan cache primer/replika, secara kolektif dikenal sebagai instance cache. Anda dapat terhubung ke instans cache ini menggunakan utilitas Redis-CLI di cabang repositori Redis yang tidak stabil di GitHub. Versi ini mengimplementasikan dukungan dasar saat dimulai dengan tombol -c. Untuk informasi selengkapnya, lihat Bermain dengan kluster pada https://redis.io di Tutorial kluster Redis.

Anda perlu menggunakan sakelar -p untuk menentukan port yang benar untuk disambungkan. Gunakan perintah NODES KLUSTER untuk menentukan port yang tepat yang digunakan untuk node primer dan replika. Rentang port berikut digunakan:

  • Untuk cache tingkat Premium non-TLS, port tersedia dalam 130XX rentang
  • Untuk cache tingkat Premium yang diaktifkan TLS, port tersedia dalam 150XX rentang
  • Untuk cache Enterprise dan Enterprise Flash menggunakan pengklusteran OSS, koneksi awal melalui port 10000. Koneksi ke simpul individual dapat dilakukan menggunakan port dalam rentang 85XX. Port 85xx akan berubah dari waktu ke waktu dan tidak boleh dikodekan secara permanen ke dalam aplikasi Anda.

Bisakah saya mengonfigurasi pengklusteran untuk cache yang dibuat sebelumnya?

Ya. Pertama, pastikan cache Anda berada di tingkat Premium dengan meningkatkan skalanya. Selanjutnya, Anda dapat melihat opsi konfigurasi kluster, termasuk opsi untuk mengaktifkan kluster. Ubah ukuran kluster setelah cache dibuat, atau setelah Anda mengaktifkan pengklusteran untuk pertama kalinya.

Penting

Anda tidak dapat mengurungkan pengaktifan pengklusteran. Dan cache dengan pengklusteran diaktifkan dan hanya satu shard berperilaku berbeda dari cache dengan ukuran yang sama tanpa pengklusteran.

Semua cache tingkat Enterprise dan Enterprise Flash selalu diklusterkan.

Bisakah saya mengonfigurasi pengklusteran untuk cache dasar atau standar?

Pengklusteran hanya tersedia untuk cache Premium, Enterprise, dan Enterprise Flash.

Bisakah saya menggunakan pengklusteran dengan Penyedia Session State ASP.NET Redis dan "Penembolokan Output?

  • Penyedia Redis Output Cache - tidak ada perubahan yang diperlukan.
  • Penyedia Redis Session State - untuk menggunakan pengklusteran, Anda harus menggunakan RedisSessionStateProvider 2.0.1 atau lebih tinggi atau pengecualian dikirim yang merupakan perubahan yang melanggar. Untuk informasi selengkapnya, lihat Detail Perubahan yang Melanggar v2.0.0.

Saya mendapatkan pengecualian MOVE saat menggunakan StackExchange.Redis dan pengklusteran, apa yang harus saya lakukan?

Jika Anda menggunakan StackExchange.Redis dan menerima MOVE pengecualian saat menggunakan pengklusteran, pastikan Anda menggunakan StackExchange.Redis 1.1.603 atau yang lebih baru. Untuk petunjuk tentang mengonfigurasi aplikasi .NET Anda untuk menggunakan StackExchange.Redis, lihat Mengonfigurasi klien cache.

Apa perbedaan antara Pengklusteran OSS dan Pengklusteran Perusahaan pada cache tingkat Perusahaan?

Mode Kluster OSS sama dengan pengklusteran pada tingkat Premium dan mengikuti spesifikasi pengklusteran sumber terbuka. Mode Kluster Perusahaan bisa kurang berkinerja, tetapi menggunakan pengklusteran Redis Enterprise, yang tidak memerlukan perubahan klien apa pun untuk digunakan. Untuk informasi selengkapnya, lihat Pengklusteran di Enterprise.

Berapa banyak shard yang digunakan cache tingkat Perusahaan?

Tidak seperti cache tingkat Dasar, Standar, dan Premium, cache Enterprise dan Enterprise Flash dapat memanfaatkan beberapa pecahan pada satu simpul. Untuk informasi selengkapnya, lihat Pemanfaatan Sharding dan CPU.

Langkah berikutnya