Librerie client

Cache di Azure per Redis si basa su Redis, il noto archivio dati in memoria open source. Cache di Azure per Redis è accessibile 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 client gestisce la propria documentazione di riferimento per la sua libreria. I client forniscono anche collegamenti per ottenere supporto tramite la community di sviluppatori di librerie client. Il team di Cache di Azure per Redis non è proprietario dello sviluppo o del supporto per le librerie client.

Pur non essendo proprietari o non supportando librerie client, consigliamo l’utilizzo di alcune librerie. Le raccomandazioni sono basate sulla popolarità e sulla presenza di una community online attiva per supportare e rispondere alle 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 RepositoryGitHub 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ò connettersi e usare l'istanza di Cache di Azure per Redis con qualsiasi libreria client in grado di comunicare anche con Redis open source.

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:6380"
  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 reperire alcune esercitazioni che spiegano come iniziare a usare Cache di Azure per Redis Redis con linguaggi e client di cache diversi.

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

Passaggi successivi