Biblioteki klienta usługi Azure Managed Redis (wersja zapoznawcza)
Usługa Azure Managed Redis (wersja zapoznawcza) jest oparta na popularnym magazynie danych w pamięci, Redis. Klienci redis dla wielu języków programowania mogą uzyskiwać dostęp do usługi Azure Managed Redis. Każda biblioteka klienta ma własny interfejs API, który wykonuje wywołania serwera Redis przy użyciu poleceń usługi Redis, ale biblioteki klienckie są tworzone w celu komunikacji z dowolnym serwerem Redis.
Każda biblioteka klienta przechowuje własną dokumentację referencyjną. Biblioteki zawierają również łącza umożliwiające uzyskanie pomocy technicznej za pośrednictwem społeczności deweloperów bibliotek klienta. Zespół usługi Azure Managed Redis nie zajmuje się rozwojem żadnych bibliotek klienta ani nie świadczy pomocy technicznej w ich zakresie.
Poniższe zalecenia są oparte na popularności i czy istnieje aktywna społeczność online do obsługi i odpowiadania na pytania. Zalecamy tylko korzystanie z najnowszej dostępnej wersji i regularne uaktualnianie w miarę dostępności nowych wersji. Biblioteki te są na bieżąco opracowywane i często udostępniają nowe wersje z ulepszeniami niezawodności i wydajności.
Biblioteka kliencka | Język | RepozytoriumGitHub | Dokumentacja |
---|---|---|---|
StackExchange.Redis | C#/.NET | Link | Więcej informacji |
Lettuce | Java | Link | Więcej informacji |
Jedis | Java | Link | |
node_redis | Node.js | Link | |
Redisson | Java | Link | Więcej informacji |
ioredis | Node.js | Link | Więcej informacji |
Uwaga
Aplikacja może używać dowolnej biblioteki klienta zgodnej z usługą Redis typu open source w celu nawiązania połączenia z wystąpieniem usługi Azure Managed Redis.
Wybieranie odpowiedniej biblioteki klienta na podstawie zasad klastrowania
Usługa Azure Managed Redis obsługuje zasady klastrowania przedsiębiorstwa i zasady klastrowania oprogramowania open source. Dowiedz się więcej tutaj (dodaj łącze do informacji o zasadach klastrowania).
Wszystkie biblioteki klienta współpracują z wystąpieniem usługi Redis z zasadami klastrowania przedsiębiorstwa. Jeśli jednak używasz zasad klastrowania systemu operacyjnego, upewnij się, że wybrana biblioteka klienta obsługuje nawiązywanie połączenia z klastrowanych wystąpień usługi Redis.
Zablokowane polecenia
Firma Microsoft zarządza konfiguracją i zarządzaniem wystąpieniami usługi Azure Managed Redis, które domyślnie wyłącza następujące polecenia. Aby uzyskać więcej informacji na temat zablokowanych poleceń, zobacz Zgodność poleceń zarządzania klastrem
Polecenia wieloklawiszowe
Ponieważ wystąpienia usługi AMR używają konfiguracji klastrowanej, mogą być widoczne wyjątki CROSSSLOT
w poleceniach, które działają na wielu klawiszach. Zachowanie różni się w zależności od używanych zasad klastrowania. Jeśli używasz zasad klastrowania systemu operacyjnego, polecenia wieloklawiszowe wymagają mapowania wszystkich klawiszy do tego samego gniazda.
Mogą również występować błędy CROSSSLOT
związane z zasadami klastrowania przedsiębiorstwa. Tylko następujące polecenia wieloklawiszowe są dozwolone w różnych miejscach z klastrowaniem przedsiębiorstwa: DEL
, MSET
, MGET
, EXISTS
, UNLINK
i TOUCH
.
W bazach danych aktywny-aktywny polecenia zapisu z wieloma klawiszami (DEL
, MSET
, UNLINK
) mogą być uruchamiane tylko na klawiszach, które znajdują się w tym samym gnieździe. Jednak następujące polecenia wieloklawiszowe są dozwolone w różnych miejscach w bazach danych aktywny-aktywny: MGET
, EXISTS
i TOUCH
. Aby uzyskać więcej informacji, zobacz Klastrowanie baz danych.
Polecenia zablokowane dla zasad klastrowania przedsiębiorstwa
- INFORMACJE DOTYCZĄCE KLASTRÓW
- POMOC DOTYCZĄCA KLASTRÓW
- GNIAZDO KLAWISZA KLASTRA
- WĘZŁY KLASTRA
- GNIAZDA KLASTRA
Polecenia zablokowane dla aktywnej replikacji geograficznej
- FLUSHALL
- FLUSHDB
Wskazówki dotyczące bibliotek klienta
Aby uzyskać informacje na temat najlepszych rozwiązań dotyczących biblioteki klienta, patrz następujące łącza:
- StackExchange.Redis (.NET)
- Lettuce (Java)
- Jedis (Java)
- Redisson (Java)
- Node.js
- PHP
- HiRedisCluster
- Dostawca stanu sesji ASP.NET
Redisson (Java)
Zalecamy użycie narzędzia redisson 3.14.1 lub nowszego. Starsze wersje zawierają znane problemy z wyciekiem połączeń, które powodują problemy po przejściu w tryb failover. Monitoruj dziennik zmian Redisson pod kątem innych znanych problemów, które mogą mieć wpływ na funkcje używane przez aplikację. Aby uzyskać więcej informacji, zobacz CHANGELOG
oraz Często zadawane pytania dotyczące Redisson.
Inne uwagi:
- Redisson domyślnie określa strategię „odczytu z repliki”, w przeciwieństwie do niektórych innych klientów. Aby zmienić to ustawienie domyślne, zmodyfikuj ustawienie konfiguracji "readMode".
- Redisson ma strategię buforowania połączeń z konfigurowalnymi ustawieniami minimalnymi i maksymalnymi, a domyślne wartości minimalne są duże. Duże wartości domyślne mogą przyczynić się do agresywnych zachowań ponownego nawiązywania połączenia lub "burzy połączeń". Aby zmniejszyć ryzyko, rozważ użycie mniejszej liczby połączeń, ponieważ można efektywnie potokować polecenia lub partie poleceń za pośrednictwem kilku połączeń.
- Redisson ma domyślny limit czasu bezczynności połączenia 10 sekund, co prowadzi do większego zamknięcia i ponownego otwarcia połączeń niż idealne.
Poniżej przedstawiono zalecaną konfigurację punktu odniesienia dla trybu klastra, który można zmodyfikować w razie potrzeby:
clusterServersConfig:
idleConnectionTimeout: 30000
connectTimeout: 15000
timeout: 5000
retryAttempts: 3
retryInterval: 3000
checkLockSyncedSlaves: false
failedSlaveReconnectionInterval: 15000
failedSlaveCheckInterval: 60000
subscriptionsPerConnection: 5
clientName: "redisson"
loadBalancer: !<org.redisson.connection.balancer.RoundRobinLoadBalancer> {}
subscriptionConnectionMinimumIdleSize: 1
subscriptionConnectionPoolSize: 50
slaveConnectionMinimumIdleSize: 2
slaveConnectionPoolSize: 24
masterConnectionMinimumIdleSize: 2
masterConnectionPoolSize: 24
readMode: "MASTER"
subscriptionMode: "MASTER"
nodeAddresses:
- "redis://mycacheaddress:10000"
scanInterval: 1000
pingConnectionInterval: 60000
keepAlive: false
tcpNoDelay: true
Aby uzyskać artykuł na temat obsługi usługi JCache redisson jako magazynu stanu sesji HTTP w środowisku IBM Liberty na platformie Azure, zobacz Używanie usługi Java EE JCache z funkcją Open Liberty lub WebSphere Liberty w klastrze usługi Azure Kubernetes Service (AKS).
Jak używać bibliotek klienta
Oprócz dokumentacji referencyjnej można znaleźć samouczki przedstawiające wprowadzenie do pracy z usługą Azure Managed Redis przy użyciu różnych języków i klientów pamięci podręcznej.
Aby uzyskać więcej informacji na temat używania niektórych z tych bibliotek klienckich w samouczkach, zobacz następujące artykuły:
- Tworzenie kodu aplikacji .NET Framework
- Tworzenie kodu aplikacji .NET Core
- Tworzenie kodu aplikacji internetowej platformy ASP.NET
- Tworzenie kodu aplikacji internetowej platformy ASP.NET Core
- Tworzenie kodu aplikacji w języku Java
- Tworzenie kodu aplikacji platformy Node.js
- Tworzenie kodu aplikacji w języku Python