til icon indicating copy to clipboard operation
til copied to clipboard

Redis key distribution model

Open xluffy opened this issue 2 years ago • 0 comments

The cluster's key space is split into 16384

Một key space của cluster sẽ được chia là 16_384 slots, và mỗi master-node trong cluster sẽ chưa một sub-set của 16_384 slots đó. Hash slot để lưu key sẽ được tính toán dựa trên công thức:

HASH_SLOT = CRC16(key) mod 16384

Khi đứng ở bất kỳ một node nào trong Redis cluster, xài một command nào đó, Redis sẽ tự redirect sang node chứa key đó bằng cách tính toán ra hash slot và redirect qua node đó.

Tuy nhiên, có những command sẽ không tự động redirect, ví dụ: KEYS *abc*, lí do là vì xài regex, key ko phải là một giá trị cụ thể nên không tính ra được hash slot, dẫn tới không biết node nào chứa slot đó để redirect qua.

xluffy avatar Apr 28 '22 08:04 xluffy