本文へスキップ

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台)で冗長化している」という場面で登場します。

この用語をシェア

𝕏 でポスト LINE

最終更新:

関連用語