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 持久化和主从复制,提升系统的稳定性和扩展性。
发表评论
最新留言
关注你微信了!
[***.104.42.241]2026年06月14日 05时29分37秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
PHPExcel一些基本设置总结
2023-02-28
PHPExcel导入导出 若在thinkPHP3.2中使用(无论实例还是静态调用(如new classname或classname::function)都必须加反斜杠,因3.2就命名空间,如/c...
2023-02-28
PHPMailer发送邮件
2023-02-28
phpmailer发送邮件,可以带附件
2023-02-28
phpmyadmin 安装
2023-02-28
phpmyadmin数据库建表及插入
2023-02-28
phprpc简单使用
2023-02-28
phpstorm中Xdebug的使用
2023-02-28
phpstorm中使用svn版本控制器
2023-02-28
phpstorm配置php脚本执行
2023-02-28
PhpStorm配置远程xdebug
2023-02-28
phpStudy安装教程
2023-02-28
phpunit
2023-02-28
phpWhois 项目推荐
2023-02-28
phpwind部署问题
2023-02-28
PHP__call __callStatic
2023-02-28
php一句话图片运行,【后端开发】php一句话图片木马怎么解析
2023-02-28
php上传文件找不到临时文件夹
2023-02-28
PHP下curl用法分析
2023-02-28
php与web服务器关系
2023-02-28