码迷,mamicode.com
首页 > 其他好文 > 详细

redis集群

时间:2017-01-08 20:13:02      阅读:151      评论:0      收藏:0      [点我收藏+]

标签:移动   client   删除节点   事务   请求   tcp   nod   down   操作   

  使用redis集群可以干什么?

1.可以将数据分布式地存储在多个redis节点。

2.部分节点不可用时,仍然可以保证节点的可用性。

 

  redis集群中节点对tcp端口的要求:

1.client与节点之间通信的接口,称为p1

2.节点之间通信的接口,称为p2。p2=p1+10000

 

  redis集群与docker的兼容性:

redis集群不支持端口remapped,为了使docker与redis兼容,需要将docker在host networking mode下工作(--net=host)。

 

  redis集群的分表

redis集群的分表没有使用一致性hash,而是将数据分布在16384个slot中,平均分布在集群中的多个节点。

好处:

  1.增加节点和删除节点只需要将slot在节点间移动即可,移动slot时,无需down机。

redis支持同一个命令的执行中,对属于同一个slot的多个key进行操作,从而保证事务性。

使用hash tag可以保证多个key同属于一个slot

hash tag案例,大括号内的内容相同,两个key在同一个slot中:

1. keyA{foo}

2. keyB{foo}

  redis集群的的主从模式

我们可以为redis的每个node设置slave,某个节点的master挂了,slave可用,则集群仍然可用。若某个节点的主从全部挂掉,那么系统不可用。

 

  redis无法保证数据的强一致性,一些情况下,写入的数据可能会丢失。

redis client的写请求是异步返回的,写入master的数据,在复制到slave前,挂掉,那么数据会丢失。

 

 

 

 

 

 

 

    

 

redis集群

标签:移动   client   删除节点   事务   请求   tcp   nod   down   操作   

原文地址:http://www.cnblogs.com/swaggyC/p/6262537.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!