命令
优势
支持高达10亿级的数据缓冲,内存优化管理,避免GC性能劣化。
高并发系统设计,可充分利用多CPU资源实现并行处理。
数据采用key-value多索引方式存储,字段类型和长度可配置。
支持多台服务并行运行,服务之间可互为主备,实现负载分担。
数据同步采用独立队列,同步异常不影响主业务。
支持数据有效期设置,过期数据自动回收。
服务重启时可从其他服务获取在线数据,单台服务故障不影响整个系统
中心和服务节点区别
主从模式
主节点(master)负责数据写入,从节点(slave)数据读取和备份.
若主节点发生故障,需人工介入,将某个从节点提升为新的主节点,无法实现高度自动化。
主从模式特点: | |
主从关系的配置:一个主库对应多个从库,一个从库对应一个主库 |
复制原理:异步复制,不能完全保证主从数据的一致性。 | |
第一次启动:在从库第一次连接到主库时,将采用psync复制方式进行全量复制。这意味着从库会从头开始复制主库中的全部数据。 正常运行期间:在正常运行状态下,从库通过读取主库的缓冲区来进行增量复制。这个过程涉及复制主库上发生的新的数据变更。 从库第二次启动(主库缓冲区未溢出) :当从库重新启动且主库的缓冲区未溢出时,将通过读取主库的缓冲区进行部分复制。这种方式能够快速同步中断期间发生的数据变更,而不会对主库造成重大影响。 Redis 2.8及以上版本的从库第二次启动(针对主库) :当从库第二次启动且系统版本为Redis 2.8或以上时,将采用psync复制进行全量复制。这种情况通常发生在主库的缓冲区数据无法满足从库需要同步的数据量 |
哨兵模式
哨兵模式主要通过后台监控机制来确保Redis服务的稳定性。
在这一模式中,哨兵负责实时监控主节点的运行状况。一旦主节点出现故障,哨兵将基于预设的投票机制,自动将某个从节点晋升为新的主节点,以保持服务的连续性和数据的可用性。优势:继承了主从复制的所有优势,自动实现从切换和故障转移,即使主节点发生故障,系统也能迅速自动切换到备用节点,确保服务的连续性和可用性。
劣势:在线扩容方面,当集群容量接近或达到上限时候,扩容操作复杂
(redis2.8及后续版本,官方引入了Sentinel(哨兵)架构)
Cluster模式
定义:每个从节点都复制主节点的数据,但不直接参与读写操作,主要用于数据备份和故障恢复。
这种架构使得每个节点都可以在需要时承担主节点的角色,从而提高了整体系统的可靠性和容错能力。
支持更大规模的数据存储和管理
PSYNC
启动或重连判断:当从节点(Slave)启动或与主节点(Master)的连接断开后重连时,从节点需要确定是否曾经同步过。
|