Tworzenie nowej pamięci podręcznej skalowanej w poziomie przy użyciu klastrowania
Klastrowanie jest włączane podczas tworzenia pamięci podręcznej z panelu roboczego przy tworzeniu nowej pamięci podręcznej w usłudze Azure Cache for Redis.
Skorzystaj z przewodnika Szybki start: Tworzenie pamięci podręcznej Redis typu open-source, aby rozpocząć tworzenie nowej pamięci podręcznej przy użyciu portalu Azure.
Na karcie Zaawansowane dla wystąpienia pamięci podręcznej w warstwie Premium skonfiguruj ustawienia portów innych niż TLS, klastrowanie i trwałość danych. Aby włączyć klastrowanie, wybierz pozycję Włącz.
W klastrze może być maksymalnie 30 shardów. Po wybraniu pozycji Włącz przesuń suwak lub wpisz liczbę z zakresu od 1 do 30 dla pozycji Liczba fragmentów i wybierz przycisk OK.
Każdy fragment jest parą pamięci podręcznej: podstawową i replikowaną, zarządzaną przez Azure. Łączny rozmiar pamięci podręcznej jest obliczany przez pomnożenie liczby fragmentów według rozmiaru pamięci podręcznej wybranego w warstwie cenowej.
Po utworzeniu pamięci podręcznej połączysz się z nią i użyjesz jej tak jak w przypadku nieklastrowanej pamięci podręcznej. Redis rozdziela dane pomiędzy fragmenty pamięci podręcznej. Jeśli diagnostyka jest włączona, metryki są przechwytywane oddzielnie dla każdego fragmentu i można je wyświetlić w usłudze Azure Cache for Redis przy użyciu menu Zasób.
Zakończ tworzenie pamięci podręcznej, korzystając z przewodnika 'Szybki start'.
Utworzenie pamięci podręcznej zajmuje trochę czasu. Postęp można monitorować na stronie Przegląd usługi Azure Cache for Redis. Gdy stan jest wyświetlany jako Uruchomiono, pamięć podręczna jest gotowa do użycia.
Aby uzyskać przykładowy kod dotyczący pracy z klastrowaniem z klientem StackExchange.Redis, zobacz część clustering.cs przykładu Hello World .
Skalowanie uruchomionej pamięci podręcznej Premium w górę lub w dół
Aby zmienić rozmiar klastra w pamięci podręcznej Premium, którą utworzyłeś wcześniej i która już działa z włączonym klastrowaniem, wybierz pozycję Rozmiar klastra z menu zasobów.
Aby zmienić rozmiar klastra, użyj suwaka lub wpisz liczbę z zakresu od 1 do 30 w polu tekstowym Liczba fragmentów . Następnie wybierz przycisk OK , aby zapisać.
Zwiększenie rozmiaru klastra zwiększa maksymalną przepływność i rozmiar pamięci podręcznej. Zwiększenie rozmiaru klastra nie zwiększa maksymalnej liczby połączeń dostępnych dla klientów.
Skalowanie na zewnątrz i do wewnątrz przy użyciu programu PowerShell
Wystąpienia usługi Azure Cache for Redis można skalować poziomo za pomocą programu PowerShell, korzystając z polecenia cmdlet Set-AzRedisCache, po zmodyfikowaniu właściwości ShardCount. W poniższym przykładzie pokazano, jak rozszerzać pamięć podręczną o nazwie myCache do używania trzech fragmentów (czyli rozszerzać przez współczynnik trzy).
Set-AzRedisCache -ResourceGroupName myGroup -Name myCache -ShardCount 3
Aby uzyskać więcej informacji na temat skalowania za pomocą programu PowerShell, zapoznaj się z Aby skalować usługę Azure Cache for Redis przy użyciu programu PowerShell.
Skalowanie poziome i wsteczne przy użyciu Azure CLI
Aby skalować wystąpienia usługi Azure Cache for Redis przy użyciu interfejsu wiersza polecenia platformy Azure, wywołaj polecenie az redis update i użyj shard-count właściwości . W poniższym przykładzie pokazano, jak skalować poziomo pamięć podręczną o nazwie myCache, aby użyć trzech shardów (czyli skalować o trzy).
az redis update --cluster-name myCache --resource-group myGroup --set shard-count=3
Aby uzyskać więcej informacji na temat skalowania za pomocą Azure CLI, zobacz Zmienianie ustawień istniejącej pamięci podręcznej Azure Cache for Redis.
Uwaga
W przypadku programowego skalowania pamięci podręcznej w górę lub w dół (np. przy użyciu programu PowerShell lub interfejsu wiersza polecenia platformy Azure) dowolne maxmemory-reserved lub maxfragmentationmemory-reserved są ignorowane w ramach żądania aktualizacji. Uwzględniana jest tylko zmiana skalowania. Te ustawienia pamięci można zaktualizować po zakończeniu operacji skalowania.
Skalowanie klastra uruchamia polecenie MIGRATE , które jest kosztownym poleceniem. Aby uzyskać minimalny wpływ, rozważ uruchomienie tej operacji poza godzinami szczytu. Podczas procesu migracji widać wzrost obciążenia serwera. Skalowanie klastra jest długotrwałym procesem, a czas potrzebny na to zależy od liczby kluczy i rozmiaru wartości skojarzonych z tymi kluczami.
Jak zwiększać skalę pionowo i poziomo - warstwy projektowe i Flash dla przedsiębiorstw
Warstwy Enterprise i Enterprise Flash umożliwiają skalowanie w górę i skalowanie wszerz w ramach jednej operacji. Inne warstwy wymagają oddzielnych operacji dla każdej akcji.
Uwaga
Warstwy Enterprise Flash i Enterprise nie obsługują jeszcze operacji skalowania w dół ani skalowania w ramach operacji.
Skalowanie przy użyciu witryny Azure Portal
Aby skalować pamięć podręczną, przejdź do pamięci podręcznej w witrynie Azure Portal i wybierz pozycję Skaluj z menu Zasób.
Aby zwiększyć skalę, wybierz inny typ cache, a następnie wybierz Zapisz.
Ważne
W tej chwili można skalować tylko w górę. Nie można skalować w dół.
Aby skalować w poziomie, zwiększ suwak Pojemność . Zwiększenie pojemności zwiększa się o dwa. Ta liczba odzwierciedla liczbę dodawanych węzłów przedsiębiorstwa redis. Ta liczba jest zawsze wielokrotnością liczby dwa, odzwierciedlając dodawanie węzłów zarówno dla fragmentów podstawowych, jak i replik.
Ważne
Obecnie można tylko rozszerzać skalę, zwiększając pojemność. Nie można skalować wewnętrznie.
Gdy pamięć podręczna jest skalowana do nowej warstwy, zostanie wyświetlone powiadomienie skalowania pamięci podręcznej Redis Cache .
Po zakończeniu skalowania stan zmienia się z Skalowanie na Uruchomione.
Skalowanie przy użyciu programu PowerShell
Wystąpienia usługi Azure Cache for Redis można skalować za pomocą programu PowerShell przy użyciu polecenia cmdlet Update-AzRedisEnterpriseCache . Możesz zmodyfikować właściwość Sku, aby zwiększyć skalę wystąpienia. Możesz zmodyfikować właściwość Capacity, aby skalować wystąpienie w poziomie. W poniższym przykładzie pokazano, jak skalować pamięć podręczną o nazwie myCache do wersji Enterprise E20 (25 GB) z wydajnością na poziomie 4.
Update-AzRedisEnterpriseCache -ResourceGroupName myGroup -Name myCache -Sku Enterprise_E20 -Capacity 4
Skalowanie przy użyciu interfejsu wiersza polecenia platformy Azure
Aby skalować wystąpienia usługi Azure Cache for Redis przy użyciu Azure CLI, użyj polecenia az redisenterprise update. Możesz zmodyfikować właściwość sku, aby zwiększyć skalę wystąpienia. Możesz zmodyfikować właściwość capacity, aby skalować wystąpienie w poziomie. W poniższym przykładzie pokazano, jak skalować pamięć podręczną o nazwie myCache do wersji Enterprise E20 (25 GB) z wydajnością na poziomie 4.
az redisenterprise update --cluster-name "myCache" --resource-group "myGroup" --sku "Enterprise_E20" --capacity 4
Najczęściej zadawane pytania dotyczące skalowania.
Poniższa lista zawiera odpowiedzi na często zadawane pytania dotyczące skalowania usługi Azure Cache for Redis.
Czy mogę skalować do, z lub w ramach pamięci podręcznej Premium?
- Nie można skalować z pamięci podręcznej Premium w dół do warstwy cenowej Podstawowa lub Standardowa.
- Możesz skalować z jednej warstwy cenowej pamięci podręcznej Premium do innej.
- Nie można skalować z pamięci podręcznej w warstwie Podstawowa bezpośrednio do pamięci podręcznej Premium. Najpierw przeprowadź skalowanie z warstwy Podstawowa do Standardowa w ramach jednej operacji skalowania, a następnie z warstwy Standardowa do Warstwy Premium w ramach późniejszej operacji skalowania.
- Nie można skalować z pamięci podręcznej Premium do pamięci podręcznej Enterprise lub Enterprise Flash.
- Jeśli podczas tworzenia pamięci podręcznej Premium włączono klastrowanie, możesz zmienić rozmiar klastra. Jeśli pamięć podręczna została utworzona bez włączonego klastrowania, możesz skonfigurować klastrowanie w późniejszym czasie.
Czy po skalowaniu muszę zmienić nazwę pamięci podręcznej lub klucze dostępu?
Nie, nazwa pamięci podręcznej i klucze nie zmieniają się podczas operacji skalowania.
Jak odbywa się skalowanie?
- Podczas skalowania podstawowej pamięci podręcznej do innego rozmiaru pamięć podręczna jest zamykana, a nowa pamięć podręczna jest aprowizowana przy użyciu nowego rozmiaru. W tym czasie pamięć podręczna jest niedostępna i wszystkie dane w pamięci podręcznej zostaną utracone.
- Podczas skalowania pamięci podręcznej z warstwy podstawowej do pamięci podręcznej w warstwie standardowa, aprowizowana jest pamięć podręczna repliki, a dane są kopiowane z podstawowej pamięci podręcznej do pamięci podręcznej repliki. Pamięć podręczna pozostaje dostępna podczas procesu skalowania.
- W przypadku skalowania pamięci podręcznej w warstwach Standard, Premium, Enterprise, lub Enterprise Flash do innego rozmiaru, jedna z replik jest zamykana i rekonfigurowana do nowego rozmiaru, a dane są przesyłane. Następnie druga replika przechodzi w tryb failover, zanim zostanie również zrekonfigurowana, podobnie jak podczas awarii jednego z węzłów pamięci podręcznej.
- Podczas skalowania klastrowanej pamięci podręcznej nowe fragmenty są aprowidowane i dodawane do klastra serwera Redis. Dane są następnie ponownie rozdzielone na wszystkie shardy.
- Podczas skalowania w klastrowanej pamięci podręcznej dane są najpierw podzielone na fragmenty, a następnie rozmiar klastra jest zmniejszany do wymaganych fragmentów.
- Podczas skalowania lub migrowania pamięci podręcznej do innego klastra podstawowy adres IP pamięci podręcznej może ulec zmianie. Rekord DNS dla pamięci podręcznej zmienia się i jest przezroczysty dla większości aplikacji. Jeśli jednak używasz adresu IP do skonfigurowania połączenia z pamięcią podręczną lub skonfigurowania sieciowych grup zabezpieczeń (NSG) bądź zapór sieciowych, które zezwalają na ruch do pamięci podręcznej, Twoja aplikacja może mieć problemy z nawiązywaniem połączenia po aktualizacji rekordów DNS.
Czy utracię dane z pamięci podręcznej podczas skalowania?
- Podczas skalowania pamięci podręcznej w warstwie Podstawowa do nowego rozmiaru wszystkie dane zostaną utracone, a pamięć podręczna będzie niedostępna podczas operacji skalowania.
- Podczas skalowania pamięci podręcznej Basic na pamięć podręczną Standard, dane w pamięci podręcznej są zazwyczaj zachowywane.
- Podczas skalowania pamięci podręcznej w warstwie Standard, Premium, Enterprise lub Enterprise Flash do większego rozmiaru, wszystkie dane są zwykle zachowywane. Gdy zmniejszasz rozmiar pamięci podręcznej w warstwie Standardowa lub Premium, dane mogą zostać utracone, jeśli oryginalny rozmiar danych przekracza nowy, mniejszy rozmiar. Jeśli dane zostaną utracone podczas redukcji skali, klucze są usuwane przy użyciu zasady usuwania allkeys-lru.
Czy mogę używać wszystkich funkcji warstwy Premium po skalowaniu?
Nie, niektóre funkcje można ustawić tylko podczas tworzenia pamięci podręcznej w warstwie Premium i nie są dostępne po skalowaniu.
Nie można dodać tych funkcji po utworzeniu pamięci podręcznej Premium:
- Wstrzykiwanie sieci wirtualnych
- Dodawanie nadmiarowości strefy
- Używanie wielu replik na każdą jednostkę podstawową
Aby użyć dowolnej z tych funkcji, należy utworzyć nowe wystąpienie pamięci podręcznej w warstwie Premium.
Czy moje niestandardowe ustawienie baz danych ma wpływ na skalowanie?
Jeśli podczas tworzenia pamięci podręcznej skonfigurowano wartość niestandardową dla databases tego ustawienia, pamiętaj, że niektóre warstwy cenowe mają różne limity baz danych. Poniżej przedstawiono niektóre zagadnienia dotyczące skalowania w tym scenariuszu:
- W przypadku skalowania do warstwy cenowej z niższym
databases limitem niż bieżąca warstwa:
- Jeśli używasz domyślnej
databasesliczby , która jest 16 dla wszystkich warstw cenowych, żadne dane nie zostaną utracone.
- Jeśli używasz niestandardowej
databases liczby, która mieści się w granicach dla warstwy, do której jest skalowana, to databases ustawienie jest zachowywane i żadne dane nie zostaną utracone.
- Jeśli używasz niestandardowej
databases liczby, która przekracza limity nowej warstwy, databases ustawienie zostanie obniżone do limitów nowej warstwy, a wszystkie dane w usuniętych bazach danych zostaną utracone.
- W przypadku skalowania do warstwy cenowej z limitem
databases tym samym lub wyższym niż ma bieżąca warstwa, ustawienie databases zostaje zachowane, a żadne dane nie zostaną utracone.
Chociaż pamięci podręczne Flash w warstwie Standardowa, Premium, Enterprise i Enterprise mają umowę SLA dotyczącą dostępności, nie ma umowy SLA dotyczącej utraty danych.
Czy moja pamięć podręczna jest dostępna podczas skalowania?
-
Pamięci podręczne Flash w warstwie Standardowa, Premium, Enterprise i Enterprise pozostają dostępne podczas operacji skalowania. Jednak podczas skalowania tych pamięci podręcznych mogą wystąpić zakłócenia połączenia, a także podczas skalowania od Podstawowych do Standardowych pamięci podręcznych. Oczekuje się, że te blipy połączeń będą małe, a klienci redis mogą ponownie nawiązać połączenie natychmiast.
- W przypadku pamięci podręcznych przedsiębiorstwa i Enterprise Flash korzystających z aktywnej replikacji geograficznej, skalowanie tylko podzestawu połączonych pamięci podręcznych może powodować problemy w niektórych przypadkach. Zalecamy skalowanie, tam gdzie to możliwe, wszystkich pamięci podręcznych w grupie replikacji geograficznej.
-
Podstawowe pamięci podręczne są w trybie offline podczas operacji skalowania na inny rozmiar. Podstawowe pamięci podręczne pozostają dostępne podczas skalowania z Podstawowe do Standardowe, ale mogą wystąpić krótkie przerwy w połączeniu. Jeśli wystąpi blip połączenia, klienci redis mogą zwykle ponownie nawiązać połączenie natychmiast.
Czy istnieją ograniczenia skalowania w przypadku replikacji geograficznej?
W przypadku skonfigurowania pasywnej replikacji geograficznej możesz zauważyć, że skalowanie pamięci podręcznej lub zmiana sekcji danych w klastrze nie jest możliwa. Połączenie replikacji geograficznej między dwiema pamięciami podręcznymi uniemożliwia skalowanie operacji lub zmianę liczby fragmentów w klastrze. Należy usunąć powiązanie z pamięcią podręczną, aby wydać te polecenia. Aby uzyskać więcej informacji, zobacz Konfigurowanie replikacji geograficznej.
Po skonfigurowaniu aktywnej replikacji geograficznej można skalować pamięć podręczną z pewnymi ograniczeniami. Wszystkie pamięci podręczne w grupie replikacji geograficznej muszą mieć taki sam rozmiar i pojemność. Aby uzyskać więcej informacji, zobacz Konfigurowanie aktywnej replikacji geograficznej dla wystąpień usługi Azure Cache for Redis w przedsiębiorstwie.
Operacje, które nie są obsługiwane
- Nie można skalować z wyższej warstwy cenowej do niższej warstwy cenowej.
- Nie można skalować w dół z pamięci podręcznej Premium do pamięci podręcznej Standardowa lub Podstawowa.
- Nie można skalować pamięci podręcznej ze standardowej na podstawową.
- Można skalować z pamięci podręcznej w warstwie Podstawowa do pamięci podręcznej w warstwie Standardowa, ale nie można jednocześnie zmieniać rozmiaru. Jeśli potrzebujesz innego rozmiaru, możesz wykonać operację skalowania do żądanego rozmiaru w późniejszym czasie.
- Nie można skalować z pamięci podręcznej w warstwie Podstawowa bezpośrednio do pamięci podręcznej Premium. Najpierw przeprowadź skalowanie z warstwy Podstawowa do Standardowa w ramach jednej operacji skalowania, a następnie przeprowadź skalowanie z warstwy Standardowa do Warstwy Premium w ramach późniejszej operacji.
- Nie można skalować z pamięci podręcznej Premium do pamięci podręcznej Enterprise lub Enterprise Flash.
- Nie można skalować z większego rozmiaru do rozmiaru C0 (250 MB).
Jeśli operacja skalowania zakończy się niepowodzeniem, usługa spróbuje przywrócić operację, a pamięć podręczna powróci do oryginalnego rozmiaru.
Ile czasu trwa skalowanie?
Czas skalowania zależy od kilku czynników. Następujące czynniki mogą mieć wpływ na czas skalowania:
- Ilość danych: replikacja większych ilości danych trwa dłużej.
- Wysokie żądania zapisu: Większa liczba zapisów oznacza, że więcej danych jest replikowanych między węzłami lub fragmentami.
- Duże obciążenie serwera: Wyższe obciążenie serwera oznacza, że serwer Redis jest zajęty, a ograniczone cykle procesora SĄ dostępne do ukończenia redystrybucji danych.
Skalowanie pamięci podręcznej nie jest prostym działaniem i może zająć dużo czasu. Skalowanie pamięci podręcznej z jednym do dwóch fragmentów może zająć od jednej do dwóch godzin, gdy nie jest pod dużym obciążeniem. Jeśli masz więcej fragmentów, czas skalowania nie zwiększa się w sposób liniowy.
Jak sprawdzić, kiedy skalowanie zostało ukończone?
W witrynie Azure Portal możesz zobaczyć, jak trwa operacja skalowania. Po zakończeniu skalowania stan pamięci podręcznej zmieni się na Uruchomiono.
Czy muszę wprowadzić jakiekolwiek zmiany w mojej aplikacji klienckiej w celu korzystania z klastrowania?
Gdy klastrowanie jest włączone, dostępna jest tylko baza danych 0. Jeśli aplikacja kliencka używa wielu baz danych i próbuje odczytać lub zapisać w bazie danych innej niż zero, wystąpi następujący wyjątek: Unhandled Exception: StackExchange.Redis.RedisConnectionException: ProtocolFailure on GET --->StackExchange.Redis.RedisCommandException: Multiple databases are not supported on this server; cannot switch to database: 6
Aby uzyskać więcej informacji, zobacz Specyfikacja klastra Redis — zaimplementowany podzestaw.
Jeśli używasz usługi StackExchange.Redis, musisz użyć wersji 1.0.481 lub nowszej. Połączenie z pamięcią podręczną odbywa się przy użyciu tych samych punktów końcowych, portów i kluczy , których używasz podczas nawiązywania połączenia z pamięcią podręczną, w której klastrowanie jest wyłączone. Jedyną różnicą jest to, że wszystkie operacje odczytu i zapisu muszą być wykonywane w bazie danych 0.
Inni klienci mogą mieć różne wymagania. Aby uzyskać więcej informacji, zobacz Czy wszyscy klienci usługi Redis obsługują klastrowanie?
Jeśli aplikacja używa wsadowych operacji kluczy w ramach jednego polecenia, wszystkie klucze muszą znajdować się w tym samym szardzie. Aby zlokalizować klucze w tym samym fragmentzie, zobacz Jak klucze są dystrybuowane w klastrze?.
Jeśli używasz dostawcy stanu sesji usługi Redis ASP.NET, musisz użyć wersji 2.0.1 lub nowszej. Aby uzyskać więcej informacji, zobacz Możliwość używania klastrowania z dostawcami Redis ASP.NET dla stanu sesji i buforowania danych wyjściowych.
Ważne
W przypadku korzystania z warstw Enterprise lub Enterprise FLash otrzymujesz wybór trybu klastra systemu operacyjnego lub trybu klastra przedsiębiorstwa. Tryb klastra systemu operacyjnego jest taki sam jak klaster w warstwie Premium i jest zgodny ze specyfikacją klastrowania typu open source. Tryb klastra przedsiębiorstwa może być mniej wydajny, ale korzysta z klastrowania Redis Enterprise, które nie wymaga żadnych zmian w kliencie. Aby uzyskać więcej informacji, zobacz Clustering (Klastrowanie).
Jak klucze są dystrybuowane w klastrze?
Zgodnie z dokumentacją usługi Redis w modelu dystrybucji kluczy: Przestrzeń klucza jest podzielona na 16 384 sloty. Każdy klucz jest haszowany i przypisany do jednego z tych slotów, które są rozdzielane między węzły klastra. Można skonfigurować, która część klucza jest haszowana, aby zapewnić, że wiele kluczy znajduje się w tym samym fragmencie, używając tagów haszujących.
- Klucze z hasztagiem - jeśli jakaś część klucza jest ujęta w
{ i }, to tylko ta część klucza ma wygenerowany skrót na potrzeby określenia gniazda skrótu klucza. Na przykład następujące trzy klucze znajdują się w tym samym fragmencie: {key}1, {key}2i {key}3 ponieważ tylko key część nazwy jest skrótem. Aby uzyskać pełną listę specyfikacji tagów hasz kluczy, zobacz Tagi hasz kluczy.
- Klucze bez tagu skrótu — cała nazwa klucza jest używana do tworzenia skrótów, co powoduje statystycznie równomierny rozkład w obrębie fragmentów pamięci podręcznej.
Aby uzyskać najlepszą wydajność i przepływność, zalecamy równomierne dystrybuowanie kluczy. Jeśli używasz kluczy z tagiem skrótu, aplikacja odpowiada za równomierne dystrybuowanie kluczy.
Aby uzyskać więcej informacji, zobacz Model dystrybucji kluczy, Fragmentowanie danych klastra Redis i Tagi skrótu kluczy.
Aby uzyskać przykładowy kod dotyczący obsługi klastrowania i lokalizowania kluczy w tej samej części za pomocą klienta StackExchange.Redis, zobacz część clustering.cs przykładu Hello World.
Jaki jest największy rozmiar pamięci podręcznej, który mogę utworzyć?
Największy rozmiar pamięci podręcznej, który można mieć, wynosi 4,5 TB. Jest to klastrowana pamięć podręczna F1500 o pojemności 9 jednostek. Aby uzyskać więcej informacji, zobacz Cennik usługi Azure Cache for Redis.
Czy wszyscy klienci usługi Redis obsługują klastrowanie?
Wiele bibliotek klienckich obsługuje klastrowanie Redis, ale nie wszystkie. Zapoznaj się z dokumentacją biblioteki, której używasz, aby sprawdzić, czy używasz biblioteki i wersji obsługującej klastrowanie. StackExchange.Redis to jedna biblioteka, która obsługuje klastrowanie w nowszych wersjach. Aby uzyskać więcej informacji na temat innych klientów, zobacz sekcję Zabawa z klastrem w samouczku klastra Redis.
Protokół klastrowania Redis wymaga, aby każdy klient łączył się z poszczególnymi fragmentami bezpośrednio w trybie klastrowania, a także definiuje nowe odpowiedzi błędów, takie jak MOVED i CROSSSLOTS. Jeśli próbujesz użyć biblioteki klienckiej, która nie obsługuje klastrowania wraz z pamięcią podręczną w trybie klastra, może to prowadzić do licznych wyjątków przekierowania typu PRZENIESIONY lub może po prostu przerwać działanie aplikacji, jeśli wysyłasz żądania obejmujące wiele kluczy w różnych slotach.
Uwaga
Jeśli używasz usługi StackExchange.Redis jako klienta, sprawdź, czy używasz najnowszej wersji rozwiązania StackExchange.Redis 1.0.481 lub nowszego, aby klastrowanie działało poprawnie. Aby uzyskać więcej informacji na temat problemów z move exceptions, zobacz move exceptions.
Jak mogę nawiązać połączenie z moją pamięcią podręczną po włączeniu klastrowania?
Możesz nawiązać połączenie z pamięcią podręczną przy użyciu tych samych punktów końcowych, portów i kluczy, których używasz podczas nawiązywania połączenia z pamięcią podręczną, która nie ma włączonego klastrowania. Usługa Redis zarządza klastrowaniem na zapleczu, aby nie trzeba było zarządzać nim z poziomu klienta.
Czy mogę połączyć się bezpośrednio z poszczególnymi fragmentami mojej pamięci podręcznej?
Protokół klastrowania wymaga, aby klient nawiązał poprawne połączenia z shardami, dlatego klient powinien nawiązywać takie połączenia za Ciebie. Z tego względu każdy fragment składa się z pary pamięci podręcznej głównej/replikowanej, nazywanej zbiorczo instancją pamięci podręcznej. Możesz nawiązać połączenie z tymi wystąpieniami pamięci podręcznej za pomocą narzędzia Redis-CLI znajdującego się w gałęzi unstable repozytorium Redis na GitHubie. Ta wersja implementuje podstawową obsługę po uruchomieniu przełącznika -c . Aby uzyskać więcej informacji, zobacz Zabawa z klastrem w https://redis.io samouczku dotyczącym klastra Redis.
Należy użyć przełącznika -p , aby określić prawidłowy port do nawiązania połączenia.
Użyj polecenia WĘZŁY KLASTRA, aby określić dokładne porty używane dla węzłów podstawowych i replik. Używane są następujące zakresy portów:
- W przypadku pamięci podręcznych w warstwie Premium, które nie są oparte na TLS, porty są dostępne w
130XX zakresie
- W przypadku pamięci podręcznych w warstwie Premium z obsługą
150XX protokołu TLS porty są dostępne w zakresie
- W przypadku pamięci podręcznych Flash przedsiębiorstwa i przedsiębiorstwa korzystających z klastrowania systemu operacyjnego początkowe połączenie odbywa się przez port 10000. Nawiązywanie połączenia z poszczególnymi węzłami można wykonać przy użyciu portów w zakresie 85XX. Porty 85xx zmienią się w czasie i nie powinny być zakodowane w aplikacji.
Tak. Najpierw upewnij się, że pamięć podręczna znajduje się w warstwie Premium, skalując ją w górę. Następnie zobaczysz opcje konfiguracji klastra, w tym opcję włączenia klastra. Zmień rozmiar klastra po utworzeniu pamięci podręcznej lub po włączeniu klastrowania po raz pierwszy.
Ważne
Nie można cofnąć włączania klastrowania. Pamięć podręczna z włączonym klastrowaniem i tylko jednym fragmentem zachowuje się inaczej niż pamięć podręczna o tym samym rozmiarze bez klastrowania.
Wszystkie pamięci podręczne w warstwie Enterprise i Enterprise Flash są zawsze klastrowane.
Klastrowanie jest dostępne tylko dla pamięci podręcznych Flash w warstwie Premium, Enterprise i Enterprise.
Czy mogę używać klasteryzacji z dostawcami Redis ASP.NET dla stanu sesji i buforowania danych wyjściowych?
Otrzymuję wyjątki MOVE w przypadku korzystania z usługi StackExchange.Redis i klastrowania, co należy zrobić?
Jeśli używasz usługi StackExchange.Redis i otrzymujesz MOVE wyjątki podczas korzystania z klastrowania, upewnij się, że używasz rozwiązania StackExchange.Redis 1.1.603 lub nowszego.
Jaka jest różnica między klastrowaniem systemu operacyjnego i klastrowaniem przedsiębiorstwa w pamięciach podręcznych warstwy przedsiębiorstwa?
Tryb klastra systemu operacyjnego jest taki sam jak klaster w warstwie Premium i jest zgodny ze specyfikacją klastrowania typu open source. Tryb klastra korporacyjnego może być mniej wydajny, ale używa klastrowania Redis Enterprise, który nie wymaga żadnych zmian po stronie klienta. Aby uzyskać więcej informacji, zobacz Clustering (Klastrowanie).
Ile fragmentów używa pamięci podręcznych w warstwie Enterprise?
W przeciwieństwie do pamięci podręcznych w warstwach Podstawowa, Standardowa i Premium, pamięci podręczne Enterprise i Enterprise Flash mogą korzystać z wielu fragmentów na jednym węźle. Aby uzyskać więcej informacji, zobacz Konfiguracja fragmentowania.
Następne kroki