主从复制 Replication
一个redis服务可以有多个该服务的复制品, 这个服务成为master, 其他的服务称为slaves
只要网络连接正常主服务就会一直将自己数据更新到slaves中
只有master可以写,其他的从服务只能读.(默认),slaves分担了读的压力
在windows下是可以用过配置文件中搜索slaveof 加上搜索下,你就可以配置了.或者redis-server -- port --slaveof ip 端口号(master) 或者启动完服务以后通过slaveof切换一个从服务,slaveof no one 将从服务器切换到子服务器,不会丢弃数据.使用centinel进行哨兵集群.当一个master挂了,将别的master补上来,并且将slaves注册到新的master,然后哨兵也可以集群,使用centinel集群的时候哨兵互相交换信息,判断master挂掉是采用投票的机制,当挂断的重新启动时候会变成slave.spring cloud 的注册中心高可用有好几种机制(记不住了) centinel是投票机制,只有大家都认为这个服务挂了的时候才会选举新的slave当作maser.
还有推特的twemproxy 一方面是代理,另一方面是数据库分片, 是一个代理读写的允许将多个服务器放入连接池中,用户在客户端选择
散列函数(对key求一个hash)跟
分布函数(
求完散列以后按照区间段划分),将客户端的请求分发给服务器.
主从加上哨兵是解决读的压力,proxy解决些的压力.最好的还是3.0以后的redis自带集群功能