导航

Redis 集群

Posted on 2017-11-03 09:46  耍流氓的兔兔  阅读(172)  评论(0编辑  收藏  举报

 

当一台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 到相应的节点并存储