Redis的持久化有2种方式 1快照 2是日志redis
Rdb快照的配置选项(内存中的快照写入磁盘速度更快)数据库
配置文件:
save 900 1 // 900秒内,有1条写入,则产生快照
save 300 1000 // 若是300秒内有1000次写入,则产生快照
save 60 10000 // 若是60秒内有10000次写入,则产生快照
(这3个选项都屏蔽,则rdb禁用)缓存
stop-writes-on-bgsave-error yes // 后台备份进程出错时,主进程停不中止写入?
rdbcompression yes // 导出的rdb文件是否压缩
Rdbchecksum yes // 导入rbd恢复时数据时,要不要检验rdb的完整性
dbfilename dump.rdb //导出来的rdb文件名
dir ./ //rdb的放置路径安全
Aof 的配置
appendonly no # 是否打开 aof日志功能服务器
appendfsync always # 每1个命令,都当即同步到aof. 安全,速度慢
appendfsync everysec # 折衷方案,每秒写1次
appendfsync no # 写入工做交给操做系统,由操做系统判断缓冲区大小,统一写入到aof. 同步频率低,速度快,app
no-appendfsync-on-rewrite yes: # 正在导出rdb快照的过程当中,要不要中止同步aof
auto-aof-rewrite-percentage 100 #aof文件大小比起上次重写时的大小,增加率100%时,重写
auto-aof-rewrite-min-size 64mb #aof文件,至少超过64M时,重写ide
注: 在dump rdb过程当中,aof若是中止同步,会不会丢失?
答: 不会,全部的操做缓存在内存的队列里, dump完成后,统一操做.操作系统
注: aof重写是指什么?
答: aof重写是指把内存中的数据,逆化成命令,写入到.aof日志里.
以解决 aof日志过大的问题.日志
问: 若是rdb文件,和aof文件都存在,优先用谁来恢复数据?
答: aof队列
问: 2种是否能够同时用?
答: 能够,并且推荐这么作
问: 恢复时rdb和aof哪一个恢复的快
答: rdb快,由于其是数据的内存映射,直接载入到内存,而aof是命令,须要逐条执行
redis 服务器端命令
redis 127.0.0.1:6380> time ,显示服务器时间 , 时间戳(秒), 微秒数
1) "1375270361"
2) "504511"
redis 127.0.0.1:6380> dbsize // 当前数据库的key的数量
(integer) 2
redis 127.0.0.1:6380> select 2
OK
redis 127.0.0.1:6380[2]> dbsize
(integer) 0
redis 127.0.0.1:6380[2]>
BGREWRITEAOF 后台进程重写AOFBGSAVE 后台保存rdb快照SAVE 保存rdb快照LASTSAVE 上次保存时间