Redsıs için Premium bir Azure önbelleği için Redsıs Kümelemesi yapılandırmaHow to configure Redis clustering for a Premium Azure Cache for Redis

Redin için Azure önbelleğinde, kümeleme, kalıcılık ve sanal ağ desteği gibi Premium katman özellikleri de dahil olmak üzere, önbellek boyutu ve özellikleri seçimine esneklik sağlayan farklı önbellek teklifleri vardır.Azure Cache for Redis has different cache offerings, which provide flexibility in the choice of cache size and features, including Premium tier features such as clustering, persistence, and virtual network support. Bu makalede, Redsıs örneği için Premium Azure önbelleğinde kümelemenin nasıl yapılandırılacağı açıklanır.This article describes how to configure clustering in a premium Azure Cache for Redis instance.

Redsıs kümesi nedir?What is Redis Cluster?

Redsıs için Azure Cache, redsıs 'de uygulananredin kümesi sunar.Azure Cache for Redis offers Redis cluster as implemented in Redis. Redsıs kümesi ile aşağıdaki avantajları elde edersiniz:With Redis Cluster, you get the following benefits:

  • Veri kümenizi birden çok düğüm arasında otomatik olarak bölme özelliği.The ability to automatically split your dataset among multiple nodes.
  • Düğümlerin bir alt kümesi hatalara sahip olduğunda veya kümenin geri kalanıyla iletişim kuramadıkça işlemlere devam etme yeteneği.The ability to continue operations when a subset of the nodes is experiencing failures or are unable to communicate with the rest of the cluster.
  • Daha fazla verimlilik: parçalar sayısını artırdıkça üretilen Iş miktarı artar.More throughput: Throughput increases linearly as you increase the number of shards.
  • Daha fazla bellek boyutu: parça sayısını artırdıkça doğrusal miktarı artırır.More memory size: Increases linearly as you increase the number of shards.

Kümeleme, kümelenmiş bir önbellek için kullanılabilen bağlantı sayısını artırmaz.Clustering does not increase the number of connections available for a clustered cache. Premium önbellekler ile boyut, aktarım hızı ve bant genişliği hakkında daha fazla bilgi için, bkz . sağ katmanı seçmeFor more information about size, throughput, and bandwidth with premium caches, see Choosing the right tier

Azure 'da reddo kümesi, her parçanın Redsıs hizmeti için Azure Cache tarafından yönetilen çoğaltma ile birincil/çoğaltma çifti olduğu bir birincil/çoğaltma modeli olarak sunulur.In Azure, Redis cluster is offered as a primary/replica model where each shard has a primary/replica pair with replication where the replication is managed by Azure Cache for Redis service.

KümelemeClustering

Kümeleme, önbellek oluşturma sırasında redsıs dikey penceresinde yeni Azure önbelleğinde etkinleştirilir.Clustering is enabled on the New Azure Cache for Redis blade during cache creation.

  1. Premium önbellek oluşturmak için Azure Portal oturum açın ve kaynak oluştur' u seçin.To create a premium cache, sign in to the Azure portal and select Create a resource. Önbellekleri Azure portalında oluşturabileceğiniz gibi, Resource Manager şablonlarını, PowerShell'i veya Azure CLI'sini kullanarak da oluşturabilirsiniz.In addition to creating caches in the Azure portal, you can also create them using Resource Manager templates, PowerShell, or Azure CLI. Redu için Azure önbelleği oluşturma hakkında daha fazla bilgi için bkz. önbellek oluşturma.For more information about creating an Azure Cache for Redis, see Create a cache.

    Kaynak oluştur.

  2. Yeni sayfada veritabanları ' nı seçin ve ardından redsıs için Azure önbelleği' ni seçin.On the New page, select Databases and then select Azure Cache for Redis.

    Kaynak oluştur.

  3. Yeni Redis Cache sayfasında, yeni Premium önbelleğiniz için ayarları yapılandırın.On the New Redis Cache page, configure the settings for your new premium cache.

    AyarSetting Önerilen değerSuggested value AçıklamaDescription
    DNS adıDNS name Genel olarak benzersiz bir ad girin.Enter a globally unique name. Önbellek adı, yalnızca rakam, harf veya kısa çizgi içeren 1 ile 63 karakter arasında bir dize olmalıdır.The cache name must be a string between 1 and 63 characters that contains only numbers, letters, or hyphens. Ad bir sayı veya harfle başlamalı ve bitmeli ve ardışık kısa çizgi içeremez.The name must start and end with a number or letter, and can't contain consecutive hyphens. Önbellek örneğinizin ana bilgisayar adı * <DNS name> . Redis.cache.Windows.net*olacaktır.Your cache instance's host name will be <DNS name>.redis.cache.windows.net.
    AbonelikSubscription Açılır ve aboneliğinizi seçin.Drop-down and select your subscription. Redsıs örneği için bu yeni Azure önbelleğinin oluşturulacağı abonelik.The subscription under which to create this new Azure Cache for Redis instance.
    Kaynak grubuResource group Açılır ve bir kaynak grubu seçin veya Yeni oluştur ' u seçin ve yeni bir kaynak grubu adı girin.Drop-down and select a resource group, or select Create new and enter a new resource group name. Önbelleğinizin ve diğer kaynaklarınızın oluşturulacağı kaynak grubunun adı.Name for the resource group in which to create your cache and other resources. Tüm uygulama kaynaklarınızı tek bir kaynak grubuna yerleştirerek, bunları birlikte kolayca yönetebilir veya silebilirsiniz.By putting all your app resources in one resource group, you can easily manage or delete them together.
    KonumLocation Açılır ve bir konum seçin.Drop-down and select a location. Önbelleğinizi kullanacak diğer hizmetlerin yakınında bir bölge seçin.Select a region near other services that will use your cache.
    Önbellek türüCache type Açılır ve Premium özellikleri yapılandırmak için Premium önbellek seçin.Drop-down and select a premium cache to configure premium features. Ayrıntılar için bkz. redsıs fiyatlandırması Için Azure önbelleği.For details, see Azure Cache for Redis pricing. Fiyatlandırma katmanı önbellek için kullanılabilen boyut, performans ve özellikleri belirler.The pricing tier determines the size, performance, and features that are available for the cache. Daha fazla bilgi için bkz. redsıs Için Azure önbelleği 'Ne genel bakış.For more information, see Azure Cache for Redis Overview.
  4. sekmesini seçin veya sayfanın altındaki düğmesine tıklayın.Select the Networking tab or click the Networking button at the bottom of the page.

  5. sekmesinde, bağlantı yönteminizi seçin.In the Networking tab, select your connectivity method. Premium önbellek örnekleri için genel IP adresleri veya hizmet uç noktaları aracılığıyla ya da özel bir uç nokta kullanarak özel olarak bağlanabilir.For premium cache instances, you can connect either publicly, via Public IP addresses or service endpoints, or privately, using a private endpoint.

  6. İleri: Gelişmiş sekmesini seçin veya sayfanın altındaki İleri: Gelişmiş düğmesine tıklayın.Select the Next: Advanced tab or click the Next: Advanced button on the bottom of the page.

  7. Premium önbellek örneğinin Gelişmiş SEKMESINDE, TLS olmayan bağlantı noktası, kümeleme ve veri kalıcılığı için ayarları yapılandırın.In the Advanced tab for a premium cache instance, configure the settings for non-TLS port, clustering, and data persistence. Kümelendirmeyi etkinleştirmek için Etkinleştir' e tıklayın.To enable clustering, click Enable.

    Kaynak oluştur.

    Kümede en fazla 10 parça olabilir.You can have up to 10 shards in the cluster. Etkinleştir'e tıkladıktan sonra kaydırıcıyı kaydırın veya parça sayısı için 1 ile 10 arasında bir sayı yazın ve Tamam 'atıklayın.After clicking Enable, slide the slider or type a number between 1 and 10 for Shard count and click OK.

    Her parça Azure tarafından yönetilen birincil/çoğaltma önbelleği çiftidir ve önbelleğin toplam boyutu, parça sayısı fiyatlandırma katmanında seçilen önbellek boyutuyla çarpılarak hesaplanır.Each shard is a primary/replica cache pair managed by Azure, and the total size of the cache is calculated by multiplying the number of shards by the cache size selected in the pricing tier.

    Kaynak oluştur.

    Önbellek oluşturulduktan sonra bu sunucuya bağlanır ve bunu kümelenmemiş bir önbellekte olduğu gibi kullanırsınız ve Redit verileri önbellek parçaları genelinde dağıtır.Once the cache is created you connect to it and use it just like a non-clustered cache, and Redis distributes the data throughout the Cache shards. Tanılama etkinleştirilmişse, ölçümler her parça için ayrı olarak yakalanır ve reddo dikey penceresinde Azure önbelleğinde görüntülenebilir .If diagnostics is enabled, metrics are captured separately for each shard and can be viewed in the Azure Cache for Redis blade.

  8. Sonraki: Etiketler sekmesini seçin veya sayfanın altındaki Sonraki: Etiketler düğmesine tıklayın.Select the Next: Tags tab or click the Next: Tags button at the bottom of the page.

  9. İsteğe bağlı olarak, Etiketler sekmesinde, kaynağı sınıflandırmak istiyorsanız ad ve değeri girin.Optionally, in the Tags tab, enter the name and value if you wish to categorize the resource.

  10.  Gözden geçir + oluştur' u seçin.Select Review + create. Azure 'un yapılandırmanızı doğruladığı, gözden geçir + Oluştur sekmesine götürülürsünüz.You're taken to the Review + create tab where Azure validates your configuration.

  11. Yeşil doğrulama başarılı iletisi göründüğünde Oluştur' u seçin.After the green Validation passed message appears, select Create.

Önbelleğin oluşturulması biraz zaman alır.It takes a while for the cache to create. Redsıs genel bakış   sayfasında ilerlemeyi izleyebilirsiniz.You can monitor progress on the Azure Cache for Redis Overview page.  Durum    çalışıyorolarak görüntülendiğinde, önbellek kullanıma hazırdır.When Status shows as Running, the cache is ready to use.

Not

Kümeleme yapılandırıldığında istemci uygulamanızda gereken bazı küçük farklılıklar vardır.There are some minor differences required in your client application when clustering is configured. Daha fazla bilgi için bkz. kümelendirmeyi kullanmak için istemci Uygulamam üzerinde herhangi bir değişiklik yapmam gerekir mi?For more information, see Do I need to make any changes to my client application to use clustering?

StackExchange. Redo istemcisiyle kümeleme ile çalışma hakkında örnek kod için Merhaba Dünya örneğinin Clustering.cs bölümüne bakın.For sample code on working with clustering with the StackExchange.Redis client, see the clustering.cs portion of the Hello World sample.

Çalışan bir Premium önbellekte küme boyutunu değiştirmeChange the cluster size on a running premium cache

Kümeleme etkin olan çalışan bir Premium önbellekteki küme boyutunu değiştirmek için Kaynak menüsünden küme boyutu ' na tıklayın.To change the cluster size on a running premium cache with clustering enabled, click Cluster Size from the Resource menu.

Redsıs kümesi boyutu

Küme boyutunu değiştirmek için kaydırıcıyı kullanın veya parça sayısı metin kutusunda 1 ile 10 arasında bir sayı yazın ve kaydetmek için Tamam ' a tıklayın.To change the cluster size, use the slider or type a number between 1 and 10 in the Shard count text box and click OK to save.

Küme boyutunun artırılması, en yüksek aktarım hızını ve önbellek boyutunu artırır.Increasing the cluster size increases max throughput and cache size. Küme boyutunun artırılması, istemcilerin kullanabildiği en fazla bağlantı miktarını artırmaz.Increasing the cluster size doesn't increase the max. connections available to clients.

Not

Bir kümeyi ölçeklendirmek, pahalı bir komut olan MIGRATE komutunu çalıştırır, bu nedenle en düşük düzeyde etki için bu işlemi yoğun olmayan saatlerde çalıştırmayı göz önünde bulundurun.Scaling a cluster runs the MIGRATE command, which is an expensive command, so for minimal impact, consider running this operation during non-peak hours. Geçiş işlemi sırasında sunucu yükünde bir ani artış görürsünüz.During the migration process, you will see a spike in server load. Bir kümenin ölçeklendirilmesi uzun süredir çalışan bir işlemdir ve geçen süre, anahtar sayısına ve bu anahtarlarla ilişkili değerlerin boyutuna bağlıdır.Scaling a cluster is a long running process and the amount of time taken depends on the number of keys and size of the values associated with those keys.

Kümeleme hakkında SSSClustering FAQ

Aşağıdaki liste, Redsıs Kümelemesi için Azure önbelleği hakkında sık sorulan soruların yanıtlarını içerir.The following list contains answers to commonly asked questions about Azure Cache for Redis clustering.

Kümeleme kullanmak için istemci uygulamamda herhangi bir değişiklik yapmam gerekiyor mu?Do I need to make any changes to my client application to use clustering?

Anahtarlar bir kümede nasıl dağıtılır?How are keys distributed in a cluster?

Redsıs anahtarları dağıtım modeli belgeleri: anahtar alanı 16384 yuvalara bölünür.Per the Redis Keys distribution model documentation: The key space is split into 16384 slots. Her anahtar karma hale getirilir ve kümenin düğümlerine dağıtılmış olan bu yuvalardan birine atanır.Each key is hashed and assigned to one of these slots, which are distributed across the nodes of the cluster. Karma Etiketler kullanılarak aynı parça içinde birden fazla anahtarın bulunduğundan emin olmak için anahtarın hangi kısmının karma hale getirilmiş olduğunu yapılandırabilirsiniz.You can configure which part of the key is hashed to ensure that multiple keys are located in the same shard using hash tags.

  • Karma etiketine sahip anahtarlar-anahtarın herhangi bir bölümü ve içinde yer alıyorsa, anahtarın { } karma yuvasını belirleme amacıyla yalnızca anahtarın bir bölümü karma hale getirilir.Keys with a hash tag - if any part of the key is enclosed in { and }, only that part of the key is hashed for the purposes of determining the hash slot of a key. Örneğin, aşağıdaki 3 anahtar aynı parça içinde bulunur: {key}1 , {key}2 , ve {key}3 yalnızca key adın parçası karma hale getirilmiş olduğundan.For example, the following 3 keys would be located in the same shard: {key}1, {key}2, and {key}3 since only the key part of the name is hashed. Anahtarların karma etiket özelliklerinin tamamı listesi için bkz. anahtarlar Karma etiketleri.For a complete list of keys hash tag specifications, see Keys hash tags.
  • Karma etiketi olmayan anahtarlar-karma için tüm anahtar adı kullanılır.Keys without a hash tag - the entire key name is used for hashing. Bu, önbelleğin parçaları genelinde istatistiksel olarak eşit bir dağıtıma neden olur.This results in a statistically even distribution across the shards of the cache.

En iyi performans ve verimlilik için anahtarları eşit olarak dağıtmanız önerilir.For best performance and throughput, we recommend distributing the keys evenly. Bir karma etiketi ile anahtar kullanıyorsanız, anahtarların eşit şekilde dağıtılmasını sağlamak uygulamanın sorumluluğundadır.If you are using keys with a hash tag it is the application's responsibility to ensure the keys are distributed evenly.

Daha fazla bilgi için bkz. anahtarlar dağıtım modeli, redthe Cluster veriparçaları ve anahtarlar Karma etiketleri.For more information, see Keys distribution model, Redis Cluster data sharding, and Keys hash tags.

Kümeleme ile çalışma ve StackExchange. reddo istemcisiyle aynı parça içindeki anahtarları bulma hakkında örnek kod için, Merhaba Dünya örneğinin Clustering.cs bölümüne bakın.For sample code on working with clustering and locating keys in the same shard with the StackExchange.Redis client, see the clustering.cs portion of the Hello World sample.

Oluşturabileceğiniz en büyük önbellek boyutu nedir?What is the largest cache size I can create?

En büyük Premium önbellek boyutu 120 GB 'dir.The largest premium cache size is 120 GB. En fazla 10 adet parçalama, en fazla 1,2 TB GB boyutunda olabilir.You can create up to 10 shards giving you a maximum size of 1.2TB GB. Daha büyük bir boyuta ihtiyacınız varsa daha fazla istekyapabilirsiniz.If you need a larger size you can request more. Daha fazla bilgi için bkz. Redsıs fiyatlandırması Için Azure önbelleği.For more information, see Azure Cache for Redis Pricing.

Tüm redin istemcileri kümelemeyi destekliyor mu?Do all Redis clients support clustering?

Tüm istemciler Redsıs kümelemesini desteklemez!Not all clients support Redis clustering! Kümelemeyi destekleyen bir kitaplık ve sürüm kullandığınızı doğrulamak için lütfen kullandığınız kitaplığın belgelerini denetleyin.Please check the documentation for the library you are using, to verify you are using a library and version which support clustering. StackExchange. Redo, daha yeni sürümlerinde kümelemeyi destekleyen bir kitaplıktır.StackExchange.Redis is one library that does support clustering, in its newer versions. Diğer istemcilerle ilgili daha fazla bilgi için, redsıs kümesi öğreticisinin küme ile yürütülmesi bölümüne bakın.For more information on other clients, see the Playing with the cluster section of the Redis cluster tutorial.

Reddo kümeleme protokolü, her bir istemcinin her parçaya doğrudan kümeleme modunda bağlanmasını gerektirir ve ayrıca ' TAŞıNMıŞ ' veya ' çapraz YUVALAR ' gibi yeni hata yanıtlarını tanımlar.The Redis clustering protocol requires each client to connect to each shard directly in clustering mode, and also defines new error responses such as 'MOVED' na 'CROSSSLOTS'. Küme modu önbelleği ile kümeleme desteği olmayan bir istemciyi kullanma girişimi, çok sayıda taşınan yeniden yönlendirme özel durumuoluşmasına neden olabilir veya çapraz yuva çoklu anahtar istekleri yapıyorsanız uygulamanızı kesmeniz yeterlidir.Attempting to use a client that doesn't support clustering with a cluster mode cache can result in a lot of MOVED redirection exceptions, or just break your application, if you are doing cross-slot multi-key requests.

Not

İstemci olarak StackExchange. Redsıs kullanıyorsanız, kümelemenin doğru bir şekilde çalışması için StackExchange. redsıs 1.0.481 veya üzeri sürümünün en son sürümünü kullandığınızdan emin olun.If you are using StackExchange.Redis as your client, ensure you are using the latest version of StackExchange.Redis 1.0.481 or later for clustering to work correctly. Taşıma özel durumlarıyla ilgili herhangi bir sorununuz varsa daha fazla bilgi için bkz. özel durumları taşıma .If you have any issues with move exceptions, see move exceptions for more information.

Kümeleme etkinleştirildiğinde Nasıl yaparım? önbellekme bağlansın mı?How do I connect to my cache when clustering is enabled?

Kümelemeye sahip olmayan bir önbelleğe bağlanırken kullandığınız uç noktaları, bağlantı noktalarınıve anahtarları kullanarak önbelleğinize bağlanabilirsiniz.You can connect to your cache using the same endpoints, ports, and keys that you use when connecting to a cache that does not have clustering enabled. Redsıs, arka uçta kümelendirmeyi yönetir, böylece istemciden yönetmeniz gerekmez.Redis manages the clustering on the backend so you don't have to manage it from your client.

Önbelleğim bireysel parçalara doğrudan bağlanabilir miyim?Can I directly connect to the individual shards of my cache?

Kümeleme protokolü, istemcinin doğru parça bağlantıları yapmasını gerektirir.The clustering protocol requires that the client make the correct shard connections. Bu nedenle, istemcinin bunu sizin için doğru yapması gerekir.So the client should do this correctly for you. Bu şekilde, her parça, toplu olarak bir önbellek örneği olarak bilinen birincil/çoğaltma önbelleği çiftinin oluşur.With that said, each shard consists of a primary/replica cache pair, collectively known as a cache instance. Bu önbellek örneklerine, GitHub 'da Redsıs deposunun kararsız dalında redsıs-CLI yardımcı programını kullanarak bağlanabilirsiniz.You can connect to these cache instances using the redis-cli utility in the unstable branch of the Redis repository at GitHub. Bu sürüm, anahtarla başlatıldığında temel desteği uygular -c .This version implements basic support when started with the -c switch. Daha fazla bilgi için bkz Playing with the cluster https://redis.io . redsıs kümesi öğreticisindeüzerinde kümeyle yürütme.For more information, see Playing with the cluster on https://redis.io in the Redis cluster tutorial.

TLS olmayan için aşağıdaki komutları kullanın.For non-TLS, use the following commands.

Redis-cli.exe –h <<cachename>> -p 13000 (to connect to instance 0)
Redis-cli.exe –h <<cachename>> -p 13001 (to connect to instance 1)
Redis-cli.exe –h <<cachename>> -p 13002 (to connect to instance 2)
...
Redis-cli.exe –h <<cachename>> -p 1300N (to connect to instance N)

TLS için ile değiştirin 1300N 1500N .For TLS, replace 1300N with 1500N.

Daha önce oluşturulmuş bir önbellek için kümeleme yapılandırabilir miyim?Can I configure clustering for a previously created cache?

Evet.Yes. İlk olarak, yoksa ölçeklendirmeye göre önbelleğinizin Premium olduğundan emin olun.First ensure that your cache is premium, by scaling if is not. Daha sonra, küme yapılandırma seçeneklerini, kümeyi etkinleştirme seçeneği de dahil olmak üzere görebilmeniz gerekir.Next, you should be able to see the cluster configuration options, including an option to enable cluster. Önbellek oluşturulduktan sonra veya kümelemeyi ilk kez etkinleştirdikten sonra küme boyutunu değiştirebilirsiniz.You can change the cluster size after the cache is created, or after you have enabled clustering for the first time.

Önemli

Kümelemeyi etkinleştirme işlemini geri alamazsınız.You can't undo enabling clustering. Ve kümeleme etkin olan bir önbellek ve yalnızca bir parça, kümeleme olmadan aynı boyuttaki bir önbellekten farklı davranır.And a cache with clustering enabled and only one shard behaves differently than a cache of the same size with no clustering.

Temel veya standart önbellek için kümeleme yapılandırabilir miyim?Can I configure clustering for a basic or standard cache?

Kümeleme yalnızca Premium önbellekler için kullanılabilir.Clustering is only available for premium caches.

Redin ASP.NET oturum durumu ve çıktı önbelleği sağlayıcılarıyla kümeleme kullanabilir miyim?Can I use clustering with the Redis ASP.NET Session State and Output Caching providers?

  • Redsıs çıkış önbelleği sağlayıcısı -hiçbir değişiklik gerekmiyor.Redis Output Cache provider - no changes required.
  • Redsıs oturum durumu sağlayıcısı -kümelendirmeyi kullanmak Için Redissessionstateprovider 2.0.1 veya üstünü kullanmanız ya da bir özel durum oluşturulması gerekir.Redis Session State provider - to use clustering, you must use RedisSessionStateProvider 2.0.1 or higher or an exception is thrown. Bu bir son değişiklik; daha fazla bilgi için bkz. v 2.0.0 kıran değişiklik ayrıntıları.This is a breaking change; for more information, see v2.0.0 Breaking Change Details.

StackExchange. reddo ve kümeleme kullanırken ne yapmam gerekir?I am getting MOVE exceptions when using StackExchange.Redis and clustering, what should I do?

Kümeleme kullanırken StackExchange. Redsıs kullanıyorsanız ve MOVE özel durumlar alıyorsanız, StackExchange. redsıs 1.1.603 veya üstünü kullandığınızdan emin olun.If you are using StackExchange.Redis and receive MOVE exceptions when using clustering, ensure that you are using StackExchange.Redis 1.1.603 or later. .NET uygulamalarınızı StackExchange. Redsıs kullanacak şekilde yapılandırma yönergeleri için bkz. önbellek Istemcilerini yapılandırma.For instructions on configuring your .NET applications to use StackExchange.Redis, see Configure the cache clients.

Sonraki adımlarNext steps

Redsıs özellikleri için Azure önbelleği hakkında daha fazla bilgi edinin.Learn more about Azure Cache for Redis features.