后端开发之Redis必会概念

持久化

RDB持久化

RDB持久化是指将当前进程中的数据生成快照的方式保存到硬盘中。保存的文件名后缀时rdb。Redis重新启动的时候会读取快照中的文件进行恢复数据;

AOF持久化

AOF持久化是指将Redis中每次写的命令记录到单独的日志文件中;当Redis重启的时候再次执行文件中的命令恢复数据;Redis服务器默认开启RDB,关闭AOF;要开启AOF,需要在配置文件中配置。

RDB和AOF的优缺点

RDB持久化:

优点:RDB的文件体积小。网络传输快,适合全量复制,恢复速度快;对性能的影响较低; 缺点:无法做到实施的持久化,数据可能会出现丢失的情况;

AOF持久化:

优点:实时的数据持久化; 缺点:文件大,恢复速度慢,对性能的影响大;

主从复制

主从复制指的是将一台redis服务器上的数据复制到其它的redis服务器,来保证数据的及时备份。前者我们称之为主节点,后者我们称之为从节点。

特点

1、数据的复制是单向的,只能通过 主节点复制数据到从节点; 2、一个redis服务器都可以当作主节点,也能成为从从节点;但是一个从节点只能有一个主节点;

作用

1、数据冗余:主从复制实现了数据的热备份。属于持久化之外的一种数据冗余方式; 2、故障恢复:由于数据的备份,当主节点出现问题时,可以有从节点暂时提供服务。是一种服务上的冗余; 3、高并发:我们利用读写分离,对主节点和从节点分别赋予不同的功能。我们可以使用主节点用于写数据。从节点负责读数据。这一点对于读多写少的场景可以轻松应对读的高并发。我们直需要多部署从节点就可以了; 4、基础:主从复制时哨兵和集群实现的基础。

哨兵

哨兵的核心功能时主节点的自动故障转移。

特点

1、监控:哨兵会不断的检测主节点和从节点是否运作正常; 2、自动故障转移:如果主节点不能正常工作。它会将失效的主节点中的从节点的其中一个从节点升级为新的主节点,并让其它从节点改为复制新的主节点; 3、配置提供者:哨兵负责Redis服务的主节点地址; 4、通知:哨兵还可将故障转移的结果发送给客户端;

典型的架构图

它由两部分组成,哨兵节点和数据节点:

  • 哨兵节点:哨兵系统由一个或多个哨兵节点组成,哨兵节点是特殊的redis节点,不存储数据。
  • 数据节点:主节点和从节点都是数据节点。

Redis-Cluster集群

集群由多个节点(Node)组成,Redis的数据分布在这些节点中。集群中的节点分为主节点和从节点:只有主节点负责读写请求和集群信息的维护;从节点只进行主节点数据和状态信息的复制。

作用

1、数据分区:集群将数据分散到多个节点,一方面突破了Redis单机内存大小的限制,存储容量大大增加;另一方面每个主节点都可以对外提供读服务和写服务,大大提高了集群的响应能力。 2、高可用:集群支持主从复制和主节点的自动故障转移(与哨兵类似);当任一节点发生故障时,集群仍然可以对外提供服务。

本文福利, 免费领取Linux C/C++全栈开发学习资料包、技术视频/代码,1000道大厂面试题,内容包括(C++基础,网络编程,数据库,中间件,后端开发,音视频开发,Qt开发,游戏开发,Linux内核等进阶学习资料和最佳学习路线图)↓↓↓↓有需要的可以进企鹅裙927239107领取哦~↓↓

猜你喜欢

转载自blog.csdn.net/m0_60259116/article/details/134751794