2016-06-02 5 views
0

私はRedis Clusterを持っています。私はRedisに接続するためにJedisClusterクライアントを使用しています。JedisClusterを使用してRedis Clusterのパーティションに書き込む

私のアプリケーションは少し複雑で、基本的に私のアプリケーションのどのパーティションデータに行くのかを制御したいと思っています。たとえば、私のアプリケーションはサブモジュールA、B、Cで構成されています。次に、サブモジュールAからのすべてのデータをパーティション1に移動する必要があります。同様に、サブモジュールBからのデータは、例えばパーティション2に行くべきであり、以下同様である。

私はJedisClusterを使用していますが、私のクラスタの特定のパーティションに書き込むAPIはありません。私はすべてのRedisノードで同じパーティション名を使用し、どのノードにどのデータが自動的に処理されるかを処理するが、どのパーティションが私によって処理されるのかを処理すると仮定している。

は私が

https://github.com/xetorthio/jedis/blob/b03d4231f4412c67063e356a7c3acf9bb7e62534/src/main/java/redis/clients/jedis/JedisCluster.java

JedisClusterのlibを通過しようとしましたが、何かを見つけることができませんでした。助けてください? ご協力いただきありがとうございます。

答えて

2

これはRedis Clusterの動作ではありません。 Redis Clusterでは、各ノード(パーティション)には、処理する定義済みのキー(スロット)のセットがあります。マスタによってサービスされていないマスターノードにキーを書き込むと、コマンドが拒否されます。

Redis Cluster Specより:

Redisのクラスタは、同じノードに格納される特定のキーを強制するために使用することができるハッシュタグと呼ばれる概念を実現します。

[...]

キースペースを有効16384のマスタノード(ただしノードの推奨最大サイズの順になる〜1000のクラスタサイズの上限を設定し、16384個のスロットに分割されノード)。 クラスタ内の各マスターノードは、16384ハッシュスロットのサブセットを処理します。

クラスタ構成レベルで、特定のスロットまたはスロットセットを排他的に処理するマスターノードを定義する必要があります。構成によってデータの局所性が生じます。

スロットはキーから計算されます。ハッシュタグを実装するために使用されているハッシュスロットを計算するための例外があり

:良いニュースは、あなたがKey hash tagsを使用して、キーのための特定のスロットを強制することができるということです。ハッシュタグは、同じハッシュスロットに複数のキーが割り当てられていることを保証する方法です。これは、Redis Clusterで複数キー操作を実装するために使用されます。

例:

{user1000}.following 

{…}間のコンテンツは、スロットを計算するために使用されます。キーハッシュタグを使用すると、特定のノード上のキーをグループ化し、任意のハッシュタグを使用するときに同じデータローカリティを適用することができます。

また、スロットにマップする既知のハッシュタグを使用してステップを進めることもできます(テーブルを事前に計算するか、this Gistを参照する必要があります)。特定のスロットにマップされている既知のハッシュタグを使用することで、スロットを選択できるようになり、データが配置されているマスターノードも選択できます。

他のすべてはRedisクライアントによって処理されます。

+0

ありがとうございます。間違いなくそれを使用しようとします。 – DTCool

+0

私はredisとjedisのドキュメントを見ていました。 JedisFactoryと呼ばれるものがもう1つあります。これによりデータベースインデックスを設定できます。このデータベースインデックスは同じ目的を果たしますか?私も同じリンクを提供しています - https://github.com/xetorthio/jedis/blob/b03d4231f4412c67063e356a7c3acf9bb7e62534/src/main/java/redis/clients/jedis/JedisFactory.java – DTCool

+0

複数のデータベース(データベース番号)はサポートされていませんレディスクラスター。 – mp911de

関連する問題