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. Dostęp do usługi Azure Managed Redis można uzyskać za pomocą wielu różnych klientów usługi Redis w wielu językach programowania. 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 udostępniają również linki umożliwiające uzyskanie pomocy technicznej za pośrednictwem społeczności deweloperów biblioteki klienta. Zespół usługi Azure Managed Redis nie jest właścicielem programowania ani nie obsługuje żadnych bibliotek klienckich.
Poniższe zalecenia opierają się na popularności i tym, 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. Te biblioteki są aktywnie opracowywane i często udostępniają nowe wersje z ulepszeniami niezawodności i wydajności.
Biblioteka klienta | Język | Repozytorium GitHub | Dokumentacja |
---|---|---|---|
StackExchange.Redis | C#/.NET | Link | Więcej informacji znajduje się tutaj |
Lettuce | Java | Link | Więcej informacji znajduje się tutaj |
Jedis | Java | Link | |
node_redis | Node.js | Link | |
Redisson | Java | Link | Więcej informacji znajduje się tutaj |
ioredis | Node.js | Link | Więcej informacji znajduje się tutaj |
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 systemu operacyjnego. Zobacz więcej informacji tutaj (dodaj link do informacji o zasadach klastrowania). Wszystkie biblioteki klienckie 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 klastrowymi wystąpieniami usługi Redis.
Zablokowane polecenia
Konfiguracja i zarządzanie wystąpieniami usługi Azure Managed Redis są zarządzane przez firmę Microsoft, co domyślnie wyłącza następujące polecenia. Aby uzyskać więcej informacji na temat zablokowanych poleceń, zobacz Zgodność poleceń zarządzania klastrem
Polecenia wieloklucze
Ponieważ wystąpienia usługi AMR używają konfiguracji klastrowanej, mogą być widoczne CROSSSLOT
wyjątki w poleceniach, które działają na wielu kluczach. Zachowanie różni się w zależności od używanych zasad klastrowania. Jeśli używasz zasad klastrowania systemu operacyjnego, polecenia wieloklucze wymagają mapowania wszystkich kluczy na to samo miejsce skrótu.
Mogą również występować CROSSSLOT
błędy związane z zasadami klastrowania przedsiębiorstwa. Tylko następujące polecenia wieloklucza są dozwolone w różnych miejscach z klastrowaniem przedsiębiorstwa: DEL
, , MSET
, MGET
EXISTS
, UNLINK
, i TOUCH
.
W bazach danych Active-Active polecenia zapisu z wieloma kluczami (DEL
, MSET
, UNLINK
) mogą być uruchamiane tylko na kluczach, które znajdują się w tym samym miejscu. Jednak następujące polecenia wielokluczowe są dozwolone w różnych miejscach w bazach danych Active-Active: MGET
, EXISTS
i TOUCH
. Aby uzyskać więcej informacji, zobacz Klaster baz danych.
Polecenia zablokowane dla zasad klastrowania przedsiębiorstwa
- INFORMACJE O KLASTRZE
- POMOC DOTYCZĄCA KLASTRA
- KLASTER KEYSLOT
- WĘZŁY KLASTRA
- MIEJSCA KLASTRA
Polecenia zablokowane dla aktywnej replikacji geograficznej
- FLUSHALL
- FLUSHDB
Wskazówki dotyczące biblioteki klienta
Aby uzyskać informacje na temat najlepszych rozwiązań dotyczących biblioteki klienta, zobacz następujące linki:
- StackExchange.Redis (.NET)
- Java — którego klienta należy używać?
- Sałata (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, zobaczCHANGELOG
i Redisson FAQ (Redisson — często zadawane pytania).
Inne uwagi:
- Redisson domyślnie określa strategię "odczytu z repliki", w przeciwieństwie do niektórych innych klientów. Aby to zmienić, 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 łą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 zapoznać się z artykułem pokazującym, jak używać obsługi usługi JCache redisson jako magazynu stanu sesji HTTP na platformie 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 klienckich
Oprócz dokumentacji referencyjnej można znaleźć samouczki przedstawiające sposób rozpoczynania 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:
- Kodacja aplikacji .NET Framework
- Kodacja aplikacji .NET Core
- Kodacja aplikacji internetowej ASP.NET
- Kodacja aplikacji internetowej ASP.NET Core
- Tworzenie kodu aplikacji Java
- Kodacja aplikacji Node.js
- Tworzenie kodu aplikacji w języku Python