Redis Clusterとシャーディング
Redis Clusterがハッシュスロットを使って多数のノードにキャッシュを水平スケールする仕組み、キーのルーティング方法、ハッシュタグで関連するキーを同じ場所に配置する方法を学びます。
「Redis Clusterとシャーディング」はCoddyKit上の無料Caching Strategies: Redis + CDN + Edge Computingレッスンです。 これはレッスン4/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはCaching Strategies: Redis + CDN + Edge Computing学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Caching Strategies: Redis + CDN + Edge Computingコースには全4レッスンが含まれています。
このレッスンの一部はまだ翻訳されておらず、英語で表示されています。
Why Scale Beyond One Node?
A single Redis instance is limited by one server's memory and throughput. Redis Cluster spreads data across many nodes so the cache can grow far beyond a single machine.
Hash Slots
Redis Cluster divides the keyspace into 16384 hash slots. Each node owns a range of slots. A key belongs to exactly one slot, determined by hashing the key.
TOTAL_SLOTS = 16384
def slot_for(crc):
return crc % TOTAL_SLOTS
print('Slot:', slot_for(123456789))CRC16 Routing
The slot is computed as CRC16(key) mod 16384. The client (or cluster) uses this to know which node holds the key, so reads and writes go directly to the right place.
Slot Distribution
With three nodes, slots split roughly into thirds. Adding a node means moving some slots to it; removing one redistributes its slots. This is how the cluster rebalances.
nodes = 3
per_node = 16384 // nodes
print('Approx slots per node:', per_node)MOVED and ASK Redirects
If a client contacts the wrong node, the node replies with a MOVED redirect pointing to the correct node. During slot migration, a temporary ASK redirect is used. Smart clients cache the slot map.
The Multi-Key Limitation
Operations across multiple keys (like MGET or transactions) only work if all keys live in the same slot. Otherwise the cluster rejects the command, because the keys may be on different nodes.
Hash Tags
Hash tags solve this. Only the part inside curly braces is hashed, so keys sharing a tag land in the same slot. user:{42}:profile and user:{42}:cart are co-located.
def hash_part(key):
if '{' in key and '}' in key:
start = key.index('{') + 1
end = key.index('}')
return key[start:end]
return key
print(hash_part('user:{42}:cart'))Replicas for Availability
Each master node can have replicas. If a master fails, a replica is promoted automatically, so the slot range stays available. This combines sharding with high availability.
Cluster vs Client-Side Sharding
Before Redis Cluster, apps sharded manually by hashing keys to instances in client code. Cluster mode moves that logic into Redis itself, handling rebalancing and failover automatically.
Trade-offs of Clustering
Clustering adds power but also constraints: cross-slot operations are limited, multi-key Lua scripts need same-slot keys, and operations are more complex. Use it when a single node truly is not enough.
When to Cluster
Reach for Redis Cluster when memory or throughput exceeds one node, when you need automatic failover at scale, or when a region demands many nodes. For smaller caches, a single primary with a replica is simpler.
Quick Check
You need MGET to fetch two related keys atomically in a Redis Cluster. How do you guarantee they live on the same node?
Recap
You learned Redis Cluster and sharding:
- The keyspace splits into 16384 hash slots owned by nodes.
- CRC16 routing plus MOVED/ASK redirects locate keys.
- Multi-key ops need same-slot keys; hash tags co-locate them.
- Replicas add automatic failover.
Clustering scales a cache horizontally when one node is not enough.
AI チューターと学ぶ Caching Strategies: Redis + CDN + Edge Computing — 無料
ブラウザでリアルコードを書いて実行し、24/7 の AI チューターから瞬時にサポートを受け、ウェブまたはアプリで続きから学習できます。
- コース
- 12
- レッスン
- 48
よくある質問
「Redis Clusterとシャーディング」レッスンは無料ですか?
はい。「Redis Clusterとシャーディング」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Caching Strategies: Redis + CDN + Edge Computingコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Caching Strategies: Redis + CDN + Edge Computingコースには全4レッスンが含まれています。
「Redis Clusterとシャーディング」で何を学びますか?
Redis Clusterがハッシュスロットを使って多数のノードにキャッシュを水平スケールする仕組み、キーのルーティング方法、ハッシュタグで関連するキーを同じ場所に配置する方法を学びます。 ブラウザで直接実行するハンズオンコードでCaching Strategies: Redis + CDN + Edge Computingを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Caching Strategies: Redis + CDN + Edge Computingを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのCaching Strategies: Redis + CDN + Edge Computingは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン4/4です。
「Redis Clusterとシャーディング」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このCaching Strategies: Redis + CDN + Edge Computingレッスンでコードを書いて実行できますか?
はい。すべてのCaching Strategies: Redis + CDN + Edge Computingレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- Redisの永続化とHA
- Redisによる分散キャッシュ
- 無効化に使うRedis Pub/Sub
- Redis Clusterとシャーディング