Redis Clusterとは?
れでぃすくらすたー
Redis Clusterとは、Redisのデータを複数ノードに自動的に分散して保存し、大規模な高速データ処理と可用性を実現する公式のクラスタリング機能のことです。
Redis Clusterは、Redisが公式に提供する分散・シャーディング機能です。単一のRedisサーバーではメモリ容量やスループットに限界があるため、Redis Clusterを使うことでデータを複数のノードに分散し、スケールアウトを実現します。Redis 3.0(2015年)から本番利用可能な形で提供されています。
データの分散方式には「ハッシュスロット」が使われます。16,384個のスロットが存在し、各キーのCRC16ハッシュ値をスロット数で割った余りによって担当ノードが決まります。管理者はスロット範囲を各マスターノードに割り当て、データ分散の偏りを調整できます。
Redis Clusterの主な特徴は次のとおりです。
- 自動シャーディング:キーが自動的に適切なノードに振り分けられる
- レプリケーション:各マスターノードにスレーブ(レプリカ)を配置し、障害時に自動フェイルオーバー
- 自動再構成:ノード障害時に生き残ったノードが集まってクラスターを継続
制約として、クラスタモードではマルチキー操作(MGET、パイプラインなど)は同一スロット内のキーにしか使えません。ハッシュタグ({tag}形式)を使うことで同一スロットに強制することが可能です。セッション管理・キャッシュ・リアルタイムランキングなど、大規模なアプリケーションのインメモリ層として広く採用されています。
使い方・例文
「月間数億PVのサービスでセッションとキャッシュをRedis Clusterで管理し、6台構成(マスター3台+スレーブ3台)で冗長化している」という場面で登場します。
この用語をシェア
最終更新: