Redis学习笔记_04:Redis持久化+Redis发布订阅+Redis主从复制
发布日期:2021-04-30 21:04:09 浏览次数:101 分类:精选文章

本文共 1000 字,大约阅读时间需要 3 分钟。

Redis学习笔记_04


Redis持久化

Redis 是内存数据库,内存中的数据一旦服务器进程退出就会丢失。因此,Redis 提供了两种持久化方式:RDB 和 AOF。


1. RDB(Redis DataBase)

RDB 是一种基于内存快照的持久化方式。Redis 在指定的时间间隔内将内存数据集快照写入磁盘。恢复时,直接将快照文件加载到内存中。

  • 触发机制

    • save 命令满足规则时自动触发。
    • 执行 flushall 命令也会触发。
    • 服务器退出时也会生成 RDB 文件。
  • 优点

    • 恢复速度快。
    • 文件体积小。
  • 缺点

    • 最后一次写入可能丢失。
    • fork 进程占用内存,性能影响。

2. AOF(Append Only File)

AOF 记录所有写操作,日志形式写入磁盘。恢复时,从头执行日志文件。

  • 优点

    • 数据完整性高。
    • 每次写同步,文件不乱写。
  • 缺点

    • 文件体积大,恢复速度慢。
    • 性能较低。

3. RDB 和 AOF 选择

特性 RDB AOF
启动优先级
文件体积
恢复速度
数据安全性 可能丢失最后一次修改 数据完整
性能 较低

Redis发布与订阅

Redis PUB/SUB 模式允许消息发布和订阅,适用于系统通知、消息队列等场景。

消息传递机制

  • 发布者(PUB)发送消息到指定频道。
  • 订阅者(SUB)监听频道,接收消息。

命令示例

发布者

PUBLISH channel "message"

订阅者

SUBSCRIBE channel

原理

  • Redis 服务器维护一个字典 pubsub_channels,键为频道,值为订阅者的链表。
  • 每个订阅者连接到对应频道的链表尾部,退订时从链表中移除。

Redis 主从复制

主从复制实现数据冗余和负载均衡。

主从复制原理

  • 主节点(Master)作为数据源,负责写操作。
  • 从节点(Slave)负责读操作,数据同步基于全量复制和增量复制。

一主二从配置

  • 主机:负责写操作和数据同步。
  • 从机:只读,用于读操作和数据备份。

启动与配置

  • 配置文件中指定主从关系。
  • 使用 SLAVEOF 指定主机。

数据同步

  • 全量复制:第一次连接时同步完整数据库。
  • 增量复制:持续同步新写入的数据。

应用场景

  • 数据备份与恢复。
  • 读写分离,负载均衡。
  • 高可用架构基础。

通过合理配置 Redis 持久化和主从复制,提升系统的稳定性和扩展性。

上一篇:【Java1】jdk安装/idea安装,关键字/数据类型/标识符,运算符
下一篇:数据库: 索引(Mysql)

发表评论

最新留言

关注你微信了!
[***.104.42.241]2026年06月14日 05时29分37秒