Condividi tramite


Librerie client di Redis gestite di Azure (anteprima)

Redis gestito di Azure (anteprima) si basa sull'archivio dati in memoria più diffuso, Redis. È possibile accedere a Redis gestito di Azure da un'ampia gamma di client Redis per molti linguaggi di programmazione. Ogni libreria client ha una propria API che effettua chiamate al server Redis usando i comandi Redis, ma le librerie client vengono compilate per comunicare con qualsiasi server Redis.

Ogni libreria client gestisce la propria documentazione di riferimento. Le librerie forniscono anche collegamenti per ottenere supporto tramite la community per sviluppatori di librerie client. Il team di Redis gestito di Azure non è proprietario dello sviluppo o del supporto per le librerie client.

Le raccomandazioni seguenti sono basate sulla popolarità e se c'è una community online attiva per supportare e rispondere alle tue domande. È consigliabile usare solo la versione più recente disponibile ed effettuare l'aggiornamento a cadenza regolare man mano che diventano disponibili nuove versioni. Queste librerie sono in fase di sviluppo attivo e spesso vengono rilasciate nuove versioni con miglioramenti relativi all'affidabilità e alle prestazioni.

Libreria client Lingua Repository GitHub Documentazione
StackExchange.Redis C#/.NET Collegamento Altre informazioni sono disponibili qui
Lettuce Java Collegamento Altre informazioni sono disponibili qui
Jedis Java Collegamento
node_redis Node.js Collegamento
Redisson Java Collegamento Altre informazioni sono disponibili qui
ioredis Node.js Collegamento Altre informazioni sono disponibili qui

Nota

L'applicazione può usare qualsiasi libreria client compatibile con Redis open source per connettersi all'istanza di Redis gestita di Azure.

Scelta della libreria client appropriata in base ai criteri di clustering

Redis gestito di Azure supporta i criteri di clustering aziendale e i criteri di clustering del sistema operativo. Per altre informazioni, vedere qui (aggiungere un collegamento alle informazioni sui criteri di clustering). Tutte le librerie client funzionano con l'istanza di Redis con i criteri di clustering aziendale. Tuttavia, se si usano i criteri di clustering oss, assicurarsi che la libreria client scelta supporti la connessione alle istanze di Redis in cluster.

Comandi bloccati

La configurazione e la gestione delle istanze di Redis gestite di Azure sono gestite da Microsoft, che disabilita i comandi seguenti per impostazione predefinita. Per altre informazioni sui comandi bloccati, vedere Compatibilità dei comandi di gestione del cluster

Comandi a più chiavi

Poiché le istanze AMR usano una configurazione in cluster, è possibile che vengano visualizzate CROSSSLOT eccezioni sui comandi che operano su più chiavi. Il comportamento varia a seconda dei criteri di clustering usati. Se si usano criteri di clustering OSS, i comandi a più chiavi richiedono il mapping di tutte le chiavi allo stesso slot hash.

È inoltre possibile che vengano visualizzati errori CROSSSLOT con criteri di clustering Enterprise. Solo i comandi a più chiavi seguenti sono consentiti tra slot con clustering Enterprise: DEL, MSET, MGET, EXISTS, UNLINK e TOUCH.

Nei database Active-Active i comandi di scrittura a più chiavi (DEL, MSET, UNLINK) possono essere eseguiti solo su chiavi situate nello stesso slot. Tuttavia, i comandi a più chiavi seguenti sono consentiti tra gli slot nei database Active-Active: MGET, EXISTS e TOUCH. Per altre informazioni, vedere Clustering del database.

Comandi bloccati per i criteri di clustering aziendale

  • INFORMAZIONI CLUSTER
  • GUIDA DEL CLUSTER
  • CLUSTER KEYSLOT
  • NODI DEL CLUSTER
  • SLOT CLUSTER

Comandi bloccati per la replica geografica attiva

  • FLUSHALL
  • FLUSHDB

Indicazioni specifiche della libreria client

Per informazioni sulle procedure consigliate specifiche per la libreria client, vedere i collegamenti seguenti:

Redisson (Java)

È consigliabile usare redisson 3.14.1 o versione successiva. Le versioni precedenti contengono problemi noti di perdita di connessione che causano problemi dopo i failover. Monitorare il log delle modifiche di Redisson per altri problemi noti può influire sulle funzionalità usate dall'applicazione. Per altre informazioni, vedereCHANGELOG e le domande frequenti su Redisson.

Altre note:

  • A differenza di altri client, Redisson usa per impostazione predefinita la strategia di lettura dalla replica. Per modificare questa impostazione, modificare l'impostazione di configurazione 'readMode'.
  • Redisson ha una strategia di pool di connessioni con impostazioni minime e massime configurabili e i valori minimi predefiniti sono di grandi dimensioni. Le impostazioni predefinite di grandi dimensioni possono contribuire a comportamenti aggressivi di riconnessione o alle cosiddette "tempeste di connessione". Per ridurre tale rischio, è consigliabile usare meno connessioni perché è possibile eseguire in modo efficiente i comandi della pipeline o i batch di comandi in alcune connessioni.
  • Redisson ha un timeout di connessione inattiva predefinito di 10 secondi, che porta a una maggiore chiusura e riapertura delle connessioni rispetto a una situazione ideale.

Ecco una configurazione di base consigliata per la modalità cluster che è possibile modificare in base alle esigenze:

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

Per un articolo che illustra come usare il supporto di Redisson per JCache come archivio per lo stato della sessione HTTP in IBM Liberty in Azure, vedere Usare Java EE JCache con Open Liberty o WebSphere Liberty in un cluster del servizio Azure Kubernetes (AKS).

Come usare le librerie client

Oltre alla documentazione di riferimento, è possibile trovare esercitazioni che illustrano come iniziare a usare Azure Managed Redis usando diversi linguaggi e client di cache.

Per altre informazioni sull'uso di alcune di queste librerie client nelle esercitazioni, vedere gli articoli seguenti:

Passaggi successivi