翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
リードをレプリカに配布する (クラスターモードが無効)
レプリカを使用するクラスターモードが無効になっているクラスターの場合、 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。