赞
踩
什么是持久化:利用永久性存储介质将数据进行保存,在特定的时间将保存的数据进行恢复的工作机制称之为持久化
为什么要进行持久化:防止数据的意外丢失,确保数据安全性
持久化过程保存的是什么?有两种
rdb文件,将数据(快照)保存在该rdb文件中,做到持久化。文件名与位置可在redis.conf配置文件中修改。产生
三种方式的对比(save配置一bgsave来操作)
方式 | save指令 | bgsave指令 |
---|---|---|
读写 | 同步 | 异步 |
阻塞客户端指令 | 是 | 否 |
额外内存消耗 | 否 | 是 |
启动新进程 | 否 | 是 |
还有几种特殊的rdb启动方式,关闭服务器时,服务器运行过程中重启,全量复制
优点:
缺点:
AOF(append only file)持久化:以独立日志的方式记录每次写命令,重启时再重新执行AOF文件中的命令达到恢复数据的目的。与RDB相比可以简单描述为改记录数据为记录数据产生的过程。
AOF的主要作用是解决了数据持久化的实时性,目前已经是Redis持久化的主流方式
配置文件中这里配置aof是否开启和aof默认文件名
随着命令不断写入AOF,文件会越来越大,为了解决这个问题,Redis引入了AOF重写机制来压缩文件体积,AOF文件重写是将Redis进程内的数据转化为写命令同步到AOF文件的过程。简单说就是将对同一个数据的若干个命令执行结果转化为最终结果数据对应的指令进行记录。
作用:
AOF重写规则:
AOF重写方式
手动重写:
bgrewriteaof
自动重写:
AOF工作流程
重写流程:
持久化方式 | RDB | AOF |
---|---|---|
占用存储空间大小 | 小(数据级:压缩) | 大(指令集:重写) |
存储速度 | 慢 | 快 |
恢复速度 | 快 | 慢 |
数据安全性 | 会丢失数据 | 依据策略来决定 |
资源消耗 | 高(重量级) | 低(轻量级) |
启动优先级 | 低 | 高 |
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。