redis の負荷分散
Web プロジェクトで高い同時実行性が発生した場合、負荷分散を通じて処理できます。Redis のスロット割り当てメカニズム負荷分散モードです。
redis のスロット割り当てメカニズム:
redis が公式に提供するクラスター ソリューションでは、スロットに応じてデータが割り当てられ、各データのキーがスロットにマッピングされます。 Redis-3.0.0 では合計 16384 個のスロットが規定されていますが、これはユーザーの好みに応じて設定可能です。ユーザーがデータを挿入または取得する場合、まずデータに対応するスロットを検索し、次に対応するノードを検索して、そのノードにデータを挿入します。このようにして、データがクラスター内の各ノードに均等に分散されるため、各ノードで負荷分散が実現され、クラスターの能力が最大限に発揮されます。 (redis チュートリアル)
public static void main(String[] args) { List<JedisShardInfo> shards = new ArrayList<JedisShardInfo>(); shards.add(new JedisShardInfo("127.0.0.1", 6379)); shards.add(new JedisShardInfo("127.0.0.1", 6380)); ShardedJedisPool sjp = new ShardedJedisPool(new JedisPoolConfig(), shards); ShardedJedis shardClient = sjp.getResource(); try { shardClient.set("A", "123"); shardClient.set("B", "234"); shardClient.set("C", "345"); try { System.out.println(shardClient.get("A")); } catch (Exception e) { e.printStackTrace(); } try { System.out.println(shardClient.get("B")); } catch (Exception e) { e.printStackTrace(); } try { System.out.println(shardClient.get("C")); } catch (Exception e) { e.printStackTrace(); } } catch (Exception e) { e.printStackTrace(); } finally { sjp.returnResource(shardClient); } } }
以上がRedis が負荷分散を実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。