redis目录
Redis集群配置
下面将要部署一个Redis集群,不过在开始之前,首先介绍一下redis.conf文件的各项参数,从而在配置集群的时候能更得心应手。
- cluster-enabled<yes/no>:如果设置为yes,则新建一个特定的实例,否则会以单例的形式运行。默认是no。
- cluster-config-file <filename>:这不是用户可以配置的文件,而是Redis集群在运行时留存的配置文件,每次配置改变,都会重新保存,目的是为了能够在重启之后恢复原来的状态。这个文件会保留其他节点的状态,变量等等。一般这个文件被写入数据等价于一个消息被接受处理了。
- cluster-node-timeout<milliseconds>: redis集群中节点超时等待最长的时间,超过之后将会被认为节点失败。如果一个主节点不能访问超过了该设定的值,那么就会被它的从节点取代。但是每一个节点在等待主节点响应的时间小于这个时间之前,每一个节点都会停止接收查询请求。
- cluster-slave-validity-factor<factor>:如果设置成0,则无论从节点与主节点失联多久,从节点都会尝试升级成主节点。如果设置成正数,则cluster-node-timeout乘以cluster-slave-validity-factor得到的时间,是从节点与主节点失联后,此从节点数据有效的最长时间,超过这个时间,从节点不会启动故障迁移。假设cluster-node-timeout=5,cluster-slave-validity-factor=10,则如果从节点跟主节点失联超过50秒,此从节点不能成为主节点。注意,如果此参数配置为非0,将可能出现由于某主节点失联却没有从节点能顶上的情况,从而导致集群不能正常工作,在这种情况下,只有等到原来的主节点重新回归到集群,集群才恢复运作。
- cluster-migration-barrier <count>:主节点需要的最小从节点数,只有达到这个数,主节点失败时,它从节点才会进行迁移。更详细介绍可以看本教程后面关于副本迁移到部分。
- cluster-require-full-coverage <yes/no>:在部分key所在的节点不可用时,如果此参数设置为”yes”(默认值), 则整个集群停止接受操作;如果此参数设置为”no”,则集群依然为可达节点上的key提供读操作。