redis高可用集群方案
公司redis集群方案是怎样的?
- 一般三主三从就很好了;一共六台机器,三主三从,保证高可用,主节点挂了,从节点可以顶上来;
- 机器的配置32G内存+8核心CPU,但是分配给redis是10G的内存;对外总共50G内存;
redis主从复制

简介:
- 是典型的读写分离;
- 主节点:可读可写; 从节点:可读,数据从主节点同步过来
- 缺点:
- 没有保证高可用:实际上只做到了读写分离,提高了性能而已,但是万一主节点挂掉,程序将无法写入数据。
- 无法解决主节点写的压力;
主从数据同步的核心流程:
- slave会ping主节点master,master生成一份全量的RDB发给slave, 此时master还是会继续缓存最新的数据的,并不是停止;
- slave接收到RDB,会将RDB保存到磁盘上去(持久化),再基于RDB将数据加载到自己的本地内存;
- 之后master会将新来缓存的写命令发送给slave,实现一致性;也就是全量同步以后的写操作的同步:就是只发写的命令,不是发全量RDB了;
主从复制的断点续传:
- slave节点第一次连(或者断开很久再连)master会触发一次全量的复制; 将自己数据全部给slave(具体怎么复制就是上面的流程);
- 如果slave断开连接后再连master,那么master只会将在上次基础上增加的数据生成RDB传过去;
无磁盘化复制:
所谓无磁盘化,就是master复制数据到slave时,是直接在内存生成RDB发给slave的, 不会在自己本地磁盘存RDB;
主从架构过期key的处理:
slave不会处理过期key,只有等master的key过期了,那么模拟一条del发给slave进行key的删除;