当一台Redis服务器的内存存储空间有限的情况下,看可以使用redis集群扩展存储空间
使用PING-PANG机制,检查节点的健康状态
所有的redis节点彼此互联
每个节点中保存的数据不一样,为了保证集群的高可用,数据的完整性,须给每个节点配置从机
节点是否fail通过投票机制判断:集群中超过半数的节点检测失效时才fail,因此集群中至少有3个节点
客户端不需要连接集群所有节点,连接集群中任何一个可用节点即可
redis-cluster把 [0-16383] 个 slot(槽)上均匀的分配到集群中的物理节点上,cluster 负责维护 节点 -- 槽 -- 值(Redis 集群中内置了 16384 个哈希槽,当需要在 Redis 集群中放置一个 key-value 时,redis 先对 key 使用 crc16 算法算出一个结果,然后把结果对 16384 求余数,这样每个 key 都会对应一个编号在 0-16383 之间的哈希槽,redis 会根据节点数量大致均等的将哈希槽映射到不同的节点)
redis集群的搭建:
使用ruby脚本搭建集群,需要ruby的运行环境
待续
redis集群的连接:
一定要写 -c 参数,表示连接集群
集群会自动计算当前key所在的 槽(slot),并且 redirect 到相应的节点并存储