Redis持久化

Redis持久化功能简介:

Redis为了内部数据的安全考虑,会把本身的数据以文件形式保存到硬盘中一份,在服务器重启之后会自动把硬盘的数据恢复到内存(redis)的里边。

数据保存到硬盘的过程就称为“持久化”效果。

Redis持久化的两种方式:snap shotting  快照持久化  /  append only file   AOF持久化

snap shotting快照持久化

该持久化默认开启,一次性把redis中全部的数据保存一份存储在硬盘中,如果数据非常多(10-20G)就不适合频繁进行该持久化操作。

save 900 1 #900 秒内如果超过 1 个 key 被修改,则发起快照保存

save 300 10     #300秒超过10个key被修改,发起快照

save 60 10000   #60秒超过10000个key被修改,发起快照

上述三个save备份的考虑:

数据变化快的时候,备份频率就快高一些[数据相对安全、服务器负载高些]

数据变化慢,备份的频率就低一些[服务器负载也低]

手动发起一次快照持久化:

> ./redis-cli  [-h 主机名ip  -p 端口号码]  bgsave   (-h  -p  参数可以给其他服务器做快照持久化)

 穿插一个被忽视的小问题

append only file (AOF持久化)

本质:把用户执行的每个“写”指令(添加、修改、删除)都备份到文件中,还原数据的时候就是执行具体写指令

Redis默认关闭AOF持久化,第一次开启该AOF持久化会清空Redis的全部数据

修改了配置文件之后需要kill之前的进程,重启Redis加上指定的配置文件。

# appendfsync always   #每次收到写命令就立即强制写入磁盘,最慢的,但是保证完全的持久化,不推荐使用,【数据最安全,服务器性能最低】

appendfsync everysec   #每秒钟强制写入磁盘一次,在性能和持久化方面做了很好的折中,推荐 【数据相对安全,服务器性能折中】

# appendfsync no  #完全依赖 os,性能最好,持久化没保证【数据安全性低,服务器性能最高】

压缩备份文件:bgrewriteaof

 

posted @ 2016-10-07 22:05  林豆包的长颈鹿  阅读(117)  评论(0编辑  收藏  举报