Klientské knihovny Azure Managed Redis (Preview)
Azure Managed Redis (Preview) je založený na oblíbeném úložišti dat v paměti Redis. Ke službě Azure Managed Redis má přístup široká škála klientů Redis pro mnoho programovacích jazyků. Každá klientská knihovna má vlastní rozhraní API, které volá server Redis pomocí příkazů Redis, ale klientské knihovny jsou vytvořené tak, aby komunikily s libovolným serverem Redis.
Každá klientská knihovna udržuje vlastní referenční dokumentaci. Knihovny také poskytují odkazy na získání podpory prostřednictvím komunity vývojářů klientské knihovny. Tým Azure Managed Redis nevlastní vývoj ani podporu pro žádné klientské knihovny.
Níže uvedená doporučení jsou založená na oblíbenosti a na tom, jestli je aktivní online komunita, která podporuje a odpovídá na vaše otázky. Doporučujeme používat jenom nejnovější dostupnou verzi a pravidelně upgradovat, jakmile budou k dispozici nové verze. Tyto knihovny se aktivně vyvíjí a často vydávají nové verze s vylepšeními spolehlivosti a výkonu.
Klientská knihovna | Jazyk | Úložiště GitHub | Dokumentace |
---|---|---|---|
StackExchange.Redis | C#/.NET | Odkaz | Další informace najdete tady. |
Lettuce | Java | Odkaz | Další informace najdete tady. |
Jedis | Java | Odkaz | |
node_redis | Node.js | Odkaz | |
Redisson | Java | Odkaz | Další informace najdete tady. |
ioredis | Node.js | Odkaz | Další informace najdete tady. |
Poznámka:
Vaše aplikace může pro připojení k instanci Azure Managed Redis použít libovolnou klientskou knihovnu, která je kompatibilní s open source Redis.
Výběr správné klientské knihovny na základě zásad clusteringu
Azure Managed Redis podporuje zásady clusteringu Enterprise a zásady clusteringu operačního systému. Další informace najdete tady (přidejte odkaz na informace o zásadách clusteringu). Všechny klientské knihovny pracují s vaší instancí Redis se zásadami clusteringu Enterprise. Pokud ale používáte zásady clusteringu operačního systému, ujistěte se, že klientská knihovna, kterou zvolíte, podporuje připojení ke clusterovaným instancím Redis.
Blokované příkazy
Konfigurace a správa instancí Azure Managed Redis spravuje Microsoft, což ve výchozím nastavení zakáže následující příkazy. Další informace o blokovaných příkazech najdete v tématu Kompatibilita příkazů správy clusteru.
Příkazy s více klíči
Vzhledem k tomu, že instance AMR používají clusterovanou konfiguraci, můžou se zobrazit CROSSSLOT
výjimky u příkazů, které pracují s více klíči. Chování se liší v závislosti na použitých zásadách clusteringu. Pokud používáte zásady clusteringu operačního systému, příkazy s více klíči vyžadují, aby se všechny klíče mapovaly na stejný slot hash.
U zásad podnikového clusteringu se také můžou zobrazit CROSSSLOT
chyby. Mezi sloty s clusteringem Enterprise jsou povoleny pouze následující příkazy s více klíči: DEL
, MSET
, MGET
, EXISTS
, UNLINK
a TOUCH
.
V databázích Active-Active lze příkazy pro zápis s více klíči (DEL
, MSET
, UNLINK
) spouštět pouze na klíčích, které jsou ve stejném slotu. Následující příkazy s více klíči jsou však povoleny napříč sloty v databázích Active-Active: MGET
, EXISTS
a TOUCH
. Další informace naleznete v tématu Clustering databáze.
Příkazy blokované pro zásady clusteringu Enterprise
- INFORMACE O CLUSTERU
- NÁPOVĚDA KE CLUSTERU
- CLUSTER KEYSLOT
- UZLY CLUSTERU
- SLOTY CLUSTERU
Příkazy blokované pro aktivní geografickou replikaci
- FLUSHALL
- FLUSHDB
Doprovodné materiály specifické pro klientskou knihovnu
Informace o osvědčených postupech specifických pro klientskou knihovnu najdete na následujících odkazech:
- StackExchange.Redis (.NET)
- Java – Kterého klienta mám použít?
- Lettuce (Java)
- Jedis (Java)
- Redisson (Java)
- Node.js
- PHP
- HiRedisCluster
- poskytovatel stavu relace ASP.NET
Redisson (Java)
Doporučujeme použít redisson 3.14.1 nebo vyšší. Starší verze obsahují známé problémy s únikem připojení, které způsobují problémy po převzetí služeb při selhání. Sledujte protokol změn Redisson pro další známé problémy, které můžou ovlivnit funkce používané vaší aplikací. Další informace najdeteCHANGELOG
v nejčastějších dotazech společnosti Redisson.
Další poznámky:
- Redisson ve výchozím nastavení na rozdíl od jiných klientů nastaví strategii čtení z repliky. Chcete-li toto nastavení změnit, upravte nastavení konfigurace readMode.
- Redisson má strategii sdružování připojení s konfigurovatelným minimálním a maximálním nastavením a výchozí minimální hodnoty jsou velké. Velké výchozí hodnoty můžou přispět k agresivnímu chování opětovného připojení nebo "bouře připojení". Pokud chcete riziko snížit, zvažte použití méně připojení, protože můžete efektivně provádět příkazy kanálu nebo dávky příkazů přes několik připojení.
- Redisson má výchozí časový limit nečinného připojení 10 sekund, což vede k většímu zavření a opětovnému otevření připojení, než je ideální.
Tady je doporučená základní konfigurace pro režim clusteru, kterou můžete podle potřeby upravit:
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
Článek, který ukazuje, jak používat podporu JCache pro JCache jako úložiště pro stav relace HTTP v IBM Liberty v Azure, najdete v tématu Použití Java EE JCache s Open Liberty nebo WebSphere Liberty v clusteru Azure Kubernetes Service (AKS).
Jak používat klientské knihovny
Kromě referenční dokumentace najdete kurzy, které ukazují, jak začít se službou Azure Managed Redis používat různé jazyky a klienty mezipaměti.
Další informace o používání některých z těchto klientských knihoven najdete v následujících článcích:
- Kódování aplikace .NET Framework
- Kódování aplikace .NET Core
- Kódování webové aplikace ASP.NET
- Kódování webové aplikace ASP.NET Core
- Kódování aplikace v Javě
- Kódování aplikace Node.js
- Kódování aplikace v Pythonu