Redis集群 - SeeMoonUp/EfftiveRedis GitHub Wiki
数据分布理论:
- 节点取余分区
- 一致性哈希分区
- 虚拟槽分区 详细介绍
集群功能限制
Redis集群相对单机在功能上存在一些限制,需要开发人员提前了解,在使用时做好规避。 限制如下:
- key批量操作支持有限。如mset、mget,目前只支持具有相同slot值的key执行批量操作。对于映射为不同slot值的key由于执行mget、mget等操作可能存在于多个节点上因此不被支持。
- key事务操作支持有限。同理只支持多key在同一节点上的事务操作,当多个key分布在不同的节点上时无法使用事务功能。
- key作为数据分区的最小粒度,因此不能将一个大的键值对象如hash、list等映射到不同的节点。
- 不支持多数据库空间。单机下的Redis可以支持16个数据库,集群模式下只能使用一个数据库空间,即db0。
- 复制结构只支持一层,从节点只能复制主节点,不支持嵌套树状复制结构。