5、redis的两大持久化方式

来源:互联网 发布:牧场系统源码 编辑:程序博客网 时间:2024/06/08 14:19
Redis 两种持久化方式:
1、RDB方式
2、AOF方式

用法:
1、RDB持久化:
默认支持,不许用配置
在指定的之间间隔内,将内存中的数据集快照写入到磁盘
(如:指定30s将数据向磁盘中写入一次)

2、AOF持久化:
以日志的方式记录服务器处理的每一个操作,在redis服务器启动之初,会读取该文件并进行重新构建数据库,保证启动后数据库中的数据时完整的。

3、无持久化
通过配置实现 ,会认为redis是一个缓存机制。

4、同时使用RDB和AOF


持久化方式详解:
1、RDB
优势:
1、通过归档文件备份数据,在发生丢失时使用。
2、将一个单独的文件压缩后轻松的转移到其他的存储介质上。
3、性能最大化,在持久化开始时,只需要分叉出一些进程,再由子进程完成持久化工作,极大地避免进程执行IO的操作。

相比AOF,数据集较大时,这种方式启动效率更高。

缺点:
1、保证不了数据的高可用(来不及将数据写入磁盘)。
2、数据集较大时,子进程分担工作,进程会停止或延时。





2.AOF持久化方式
优势:
1、更高的数据安全性
2、日志存贮采用append追加方式,不会损害原来的日志文件(redis-check-aof.exe:解决数据一致性问题)
3、包含格式清晰的记录所有操作的日志文件

缺点:
1、相同的数据集,AOF的文件比RDB的文件大
2、效率低于RDB(每次修改就同步到硬盘)


大笑


flashall : 清空数据库
将appendonly.conf 日志中的操作志林flashall删除,保存退出并重启
查询数据库,数据全部存在(日志中的flashall指令不存在,所以数据全部回来了)