

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Distribuzione delle letture alle repliche (modalità cluster disabilitata)
<a name="BestPractices.Clients-lettuce-cmd-readfrom"></a>

Per i cluster disabilitati in modalità cluster con repliche, puoi utilizzare Lettuce's `StaticMasterReplicaTopologyProvider` con l'`ReadFrom`impostazione per indirizzare le scritture sul nodo primario e distribuire le letture tra le repliche. Ciò migliora la velocità di lettura scaricando le letture dal primario.

Utilizzate l'endpoint primario per le scritture e l'endpoint reader per le letture. L'endpoint di lettura bilancia automaticamente il carico delle connessioni tra le repliche disponibili.

```
// Primary endpoint for writes, reader endpoint for read distribution
RedisURI primaryURI = RedisURI.Builder.redis("primary-endpoint.cache.amazonaws.com")
    .withPort(6379).withSsl(true).build();
RedisURI readerURI = RedisURI.Builder.redis("reader-endpoint.cache.amazonaws.com")
    .withPort(6379).withSsl(true).build();

RedisClient redisClient = RedisClient.create(clientResources);
redisClient.setOptions(clientOptions);

// Open a primary-replica connection using the StaticMasterReplicaTopologyProvider
StatefulRedisMasterReplicaConnection<String, String> connection =
    MasterReplica.connect(redisClient, StringCodec.UTF8, Arrays.asList(primaryURI, readerURI));

// Direct reads to replicas, writes always go to the primary
connection.setReadFrom(ReadFrom.REPLICA_PREFERRED);
```

Sono disponibili le seguenti opzioni: `ReadFrom`
+ `REPLICA_PREFERRED`— Legge dalle repliche quando disponibili e torna alla versione principale (scelta consigliata per la maggior parte dei casi d'uso).
+ `REPLICA`— Legge solo dalle repliche. Fallisce se non è disponibile alcuna replica.
+ `PRIMARY_PREFERRED`— Legge dal primario, torna alle repliche.
+ `ANY_REPLICA`— Legge da qualsiasi nodo di replica.
+ `PRIMARY`— Legge solo dal nodo primario. Da utilizzare quando è richiesta una forte coerenza.

**Nota**  
I dati letti dalle repliche potrebbero essere leggermente obsoleti perché la replica è asincrona. Se la tua applicazione richiede una forte coerenza, usa o. `ReadFrom.PRIMARY` `ReadFrom.PRIMARY_PREFERRED`