I think the difference arises when you need to rearrange the cluster without losing any data.
Typically, a hash strategy is used to uniformly blacken data between multiple Redis servers, like a Redis 3.0 cluster and twemproxy . When a new Redis is added to the cluster and some data loading has to be undertaken by it, how would you know if any data that it should serve has yet been transferred? It may take a rough scan of the entire key space or something as smart as consecutive hashing, but it is somehow complicated.
Cluster 3.0 provides data migration by entering hash slots, and when you move the entire slot, the Redis cluster ensures that there are no keys. But I am afraid that this is not an advantage, because it also has a disadvantage: when the slot is in a migration state, it is probably not available for servicing requests.
, , , .