定义 Redis 所有数据保存在内存中,对数据更新将异步保存到磁盘 持久化的作用 方式 说明 快照 Mysql dump,redis RDB 日志 mysql binlog,redis AOF,HBase Hlog
Redis 所有数据保存在内存中,对数据更新将异步保存到磁盘
方式 | 说明 |
---|---|
快照 | Mysql dump,redis RDB |
日志 | mysql binlog,redis AOF,HBase Hlog |
命令 | save | bgsave |
---|---|---|
io 类型 | 同步 | 异步 |
是否阻塞 | 是 | 是,阻塞发送在 fork |
时间复杂度 | O(n) | O(n) |
优点 | 不会消耗额外内存 | 不阻塞客户端命令 |
缺点 | 阻塞客户端命令 | 需要 fork,消耗内存 |
配置 | seconds | changes |
---|---|---|
save | 900 | 1 |
save | 300 | 10 |
save | 60 | 10000 |
命令 | always | everysec | no |
---|---|---|---|
优点 | 不丢失数据 | 每秒一次 fsync | 不用管理 |
缺点 | IO 开销大 | 丢一秒数据 | 不可控 |
配置名 | 说明 |
---|---|
auto-aof-rewrite-min-size | aof 文件重写需要的大小 |
auto-aof-rewrite-percentage | aof 文件增长率 |
统计名 | 说明 |
---|---|
aof_current_size | aof 当前大小(单位:字节) |
aof_base_size | aof 上次启动和重写的大小(单位:字节) |
命令 | RDB | AOF |
---|---|---|
启动优先级 | 低 | 高 |
体积 | 小 | 大 |
恢复速度 | 快 | 慢 |
数据安全性 | 丢数据 | 根据策略决定 |
轻重 | 重 | 轻 |
选项 | 开销 | 优化 |
---|---|---|
CPU | rdb和aof文件生成,属于CPU密集型 | 不做CPU绑定,不和CPU密集型部署 |
内存 | fork内存开销,copy-on-write | echo never > /sys/kernel/mm/transparent_hugepage/enabled |
硬盘 | aof和rdb文件写入,可以结合iOStat,iotop分析 | 不要和高硬盘负载服务部署一起:存储服务,消息队列等;no-appendfsync-on-rewrite=yes,根据写入量决定磁盘类型;单机多实例持久化文件目录可以分盘 |
--结束END--
本文标题: redis 详解(4)持久化
本文链接: https://www.lsjlt.com/news/3221.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-05-14
2024-05-14
2024-05-14
2024-05-14
2024-05-14
2024-05-14
2024-05-14
2024-05-14
2024-05-14
2024-05-14
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0