#redis
[toc]
##1. 基础配置参数
redis基础配置
| 字段 | 配置 | eg |
|---|---|---|
| prot | 端口 | 7379 |
| daemonize | yes | 后台执行 |
| cluster-enabled | yes | 开启集群 |
| cluster-config-file | nodes.conf | 集群配置文件,自动生成 |
| cluster-node-timeout | 5000 | 集群中节点状态检查超时时间,超过界限会被标记为失败,并通过选举算法,关闭节点 |
| cluster-slave-validity-factor |
尝试主从切换的时间 为0时始终常识进行主从切换 ;请注意,任何不同于零的值都可能导致如果没有从站能够故障转移,则主站故障后Redis Cluster将不可用 | |
| logfile | “redis.log” | log文件配置 |
| cluster-migration-barrier |
? |
|
| cluster-require-full-coverage |
集群空间全覆盖检查? |
如果这设置为是,默认情况下,如果某个百分比的密钥空间未被任何节点覆盖,则群集将停止接受写入,如果选项设置为否,则集群仍将提供查询,即使仅可以处理关于键子集的请求。 |
| dbfilename | save db on disk | dbfilename 7379.rdb 最快1分钟备份一次 默认的备份方式 |
| appendonly | yes | aof持久化开启,有较大的io压力,谨慎开启 |
| appendfilename | save cmd | 7379.appendonly.aof 每条命令执行进行备份;io压力 |
| appendfsync | always everysec no | 递减 |
##2. 高可用
###架构目标 Cluster + (master & slaves)
可选方案
- redis集群
- 主从
- sentinel 2
###集群数据一致性保障
- 异步操作,不能保证强一致性。
- 节点超时
##3. 集群创建的流程
请以官方文档为主:https://redis.io/topics/cluster-tutorial
|
|
节点id创建的时候确定。不随着ip port 改变;
###集群中客户端 输出
###数据重塑-分配插槽 Resharding the cluster
所有的重塑抽取的都是从节点的前面slot开始抽取。
|
|
###数据重塑-分配插槽 Scripting a resharding operation
####集群重塑源文件
###故障转移
|
|
###故障转移(Manual failover)
Manual failovers are supported by Redis Cluster using the CLUSTER FAILOVER command, that must be executed in one of the slaves of the master you want to failover.
手动故障转移再升级系统时非常有效。必须在预进行故障转移的从库中进行。
####log文件
###添加新的节点Adding a new node
####源文件
####手动添加的状态
###为集群自动添加从库 Adding a new node as a replicacluster replicate 3c3a0c74aae0b56170ccb03a76b60cfe7dc1912e
###删除节点
|
|
如果需要删除的节点重新作为从库加入到集群中,需要删除node rm -rf nodes.conf删除主节点时,需要讲主节点的数据清空:参考手动故障转移
###副本迁移 Replicas migration
死掉的主库,在被重新拉起之后,自动顶替它的主库的从库
##redis配置文件 完整参考