

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Distribuindo leituras para réplicas (modo de cluster desativado)
<a name="BestPractices.Clients-lettuce-cmd-readfrom"></a>

Para clusters desativados no modo cluster com réplicas, você pode usar o Lettuce's `StaticMasterReplicaTopologyProvider` com a `ReadFrom` configuração para direcionar as gravações para o nó primário e distribuir as leituras entre as réplicas. Isso melhora a taxa de transferência de leitura ao descarregar as leituras do primário.

Use o endpoint primário para gravações e o endpoint do leitor para leituras. O endpoint do leitor balanceia automaticamente a carga das conexões entre as réplicas disponíveis.

```
// 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);
```

As seguintes `ReadFrom` opções estão disponíveis:
+ `REPLICA_PREFERRED`— Lê as réplicas quando disponíveis e volta para o primário (recomendado para a maioria dos casos de uso).
+ `REPLICA`— Lê somente de réplicas. Falha se nenhuma réplica estiver disponível.
+ `PRIMARY_PREFERRED`— Lê a partir do primário, volta para as réplicas.
+ `ANY_REPLICA`— Lê de qualquer nó de réplica.
+ `PRIMARY`— Lê somente do nó primário. Use quando for necessária uma consistência forte.

**nota**  
Os dados lidos das réplicas podem estar um pouco obsoletos porque a replicação é assíncrona. Se seu aplicativo exigir uma consistência forte, use `ReadFrom.PRIMARY` ou`ReadFrom.PRIMARY_PREFERRED`.