

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# リードをレプリカに配布する (クラスターモードが無効)
<a name="BestPractices.Clients-lettuce-cmd-readfrom"></a>

レプリカを使用するクラスターモードが無効になっているクラスターの場合、 `ReadFrom`設定`StaticMasterReplicaTopologyProvider`で Lettuce の を使用してプライマリノードへの書き込みを指示し、レプリカ間で読み取りを分散できます。これにより、プライマリから読み取りをオフロードすることで、読み取りスループットが向上します。

書き込みにはプライマリエンドポイントを使用し、読み取りにはリーダーエンドポイントを使用します。リーダーエンドポイントは、使用可能なレプリカ間の接続を自動的に負荷分散します。

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

次の`ReadFrom`オプションを使用できます。
+ `REPLICA_PREFERRED` – 利用可能な場合はレプリカから読み取り、プライマリにフォールバックします (ほとんどのユースケースで推奨）。
+ `REPLICA` – レプリカからのみ読み取ります。使用可能なレプリカがない場合、失敗します。
+ `PRIMARY_PREFERRED` – プライマリから読み取り、レプリカにフォールバックします。
+ `ANY_REPLICA` – 任意のレプリカノードからの読み取り。
+ `PRIMARY` – プライマリノードからのみ読み取ります。強力な整合性が必要な場合に使用します。

**注記**  
レプリケーションは非同期であるため、レプリカから読み取られたデータはわずかに古くなる可能性があります。アプリケーションに強力な整合性が必要な場合は、 `ReadFrom.PRIMARY`または を使用します`ReadFrom.PRIMARY_PREFERRED`。