写在前面的话:读书破万卷,编码若有神
----------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------
- 全部的Redis节点彼此互联,内部使用二进制协议优化传输速度和带宽
- 节点的fail是经过集群中超过半数的节点检测失效时才生效
- 客户端与Redis节点直连,不须要中间proxy层。客户端不须要链接集群的全部节点,链接集群中任何一个可用节点便可
- 集群把全部的物理节点映射到[0-16383]插槽上,集群负责维护:节点-插槽-值 的关系
七、集群操做的基本命令
(1)cluster info : 获取集群的信息
(2)cluster nodes : 获取集群当前已知的全部节点,以及这些节点的相关信息
(3)cluster meet <ip> <port> : 将ip和port所指定的节点添加到集群中
(4)cluster forget <node_id> : 从集群中移除node_id指定的节点
(5)cluster replicate <node_id> : 将当前节点设置为node_id指定的节点的从节点
(6)cluster saveconfig :将节点的配置文件保存到硬盘里面
(7)cluster addslots <slot> [slot ...] :将一个或者多个槽分配给当前节点
(8)cluster delslots <slot> [slot ...] : 从当前节点移除一个或者多个槽
(9)cluster flushslots : 移除分配给当前节点的全部槽
(10)cluster setslot <slot> NODE <node_id> : 将槽分配给node_id指定的节点,若是槽已经分配给了另外一个节点,那么先让另外一个节点删除该槽,而后再进行分配。
(11)cluster setslot <slot> migrate <node_id> : 将本节点的槽迁移到指定的节点中
(12)cluster setslot <slot> importing <node_id> : 从指定节点导入槽到本节点
(13)cluster setslot <slot> stable : 取消对槽的导入(importing)或迁移(migrate)
(14)cluster keyslot <key> : 计算键key应该被放置在哪一个槽
(15)cluster countkeysinslot <slot> : 返回槽目前包含的键值对数量
(16)cluster getkeysinslot <slot> <count> : 返回count个槽中的键
(17)migrate 目的节点ip 目前节点port 键名 数据库号 超时时间 [copy] [replace] : 迁移某个键值对