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指令不存在,所以数据全部回来了)