redis cluster是redisr推出的集群版,对应版本是 redis 3.0版本。redis cluster后面一系列源码学习都是针对该版本的。
Redis cluster(集群)是分布式(distributed)的 Redis 实现,具有一定的容错性(fault-tolerant)和线性可扩展性(linear scalability)。
主要功能:
(1) 可线性扩展到16384个节点(cluster使用哈希方式将数据分布到16384个槽,redis节点以槽为单位负责存储数据) ;
(2) 通过cluster 客户端可使数据自动路由到所负责节点 ;
(3) 实现了多个节点间的数据共享(主从节点数据共享;所有节点共享配置数据);
(4) 可支持动态增加或删除节点;
(5)可保证某些节点无法提供服务时不影响整个集群的操作;
(6) 不保证数据的强一致性,但在不出现主从切换的情况下,从用户角度是可以保证数据强一致性
(7)可支持动态调整数据分布,从而实现负载匀衡
(8)可支持人工动态调整主从关系
命令:
(1)支持Redis所有处理单个数据库键的命令;
(2) 不支持对多个数据库键的操作,比如MSET、SUNION;
(3) 不能使用 SELECT 命令,集群只使用默认的0号数据库;
(4)增加cluster相关命令,用于配置和运维redis cluster。