Redis两种机制对数据进行持久化操作
RDB方式
-
指定的时间间隔内,将内存中的数据集快照写入磁盘,数据恢复时,将快照文件直接读到内存。
-
实现方式:在redis.conf文件中进行配置,默认是开始的
-
配置执行RDB生成快照文件的时间策略
1. 对Redis进行设置,让他在“N秒内数据集直达号有M个key改动”这一条件满足时,自定保存一次数据集。
配置格式:save < seconds> < changes>
2. dbfilename :设置RDB的文件名呢,默认为dump.rdb
3. dir:指定RDB文件的存储位置,默认是./当前目录 -
配置步骤
1. 查看ps -ef | grep redis 如果redis服务启动,先停止。
2. 修改redis.conf文件,修改前先备份。
3. 重新启动 -
优缺点
1. 优点:存储的是数据快照文件,恢复数据快、方便
2. 缺点
1)会丢失最后一次快照以后修改的数据
2由于需要操作磁盘,RDB会分出一个子进程,数据量大的时候有可能占用时间多,且可能让Redis暂停服务一段时间。
AOF方式
- 每次接收到一条改变数据的命令时,把该命令写到一个AOF文件中,当redis重启时,通过执行AOF文件中的所有命令来恢复数据。
- 实现方式:配置redis.conf文件。
- 配置项:
- appendonly:默认是no 改为yes即开启了aof持久化
- appendfilename:指定AOF文件名,默认是appendonly.aof
- dir:指定RDB和AOF文件存放的目录,morning是./
- appendfsync:配置向aof文件写命令数据的策略:
no:不主动进行同步操作,完全交由操作系统来做,30秒一次,很快但不安全
alaways:每次执行写操作都执行同步,慢但是安全
everysec:每秒执行一次,比较平衡,是默认项 - auto-aof-rewrite-min-size:允许重写的最小AOF文件大小,默认64M,当AOF文件大于64M时,开始整理aof文件,去掉无用的操作命令,缩小aof文件。