redis -持久化功能
持久化功能
redis(nosql产品)为了内部数据的安全考虑,会把本身的数据以文件形式保存到硬盘中一份,在服务器重启之后会自动把硬盘的数据恢复到内存(redis)的里边。
数据保存到硬盘的过程就称为"持久化"效果。
1. snap shotting快照持久化
该持久化默认开启,一次性把redis中全部的数据保存一份存储在硬盘中,如果数据非常多(10-20G)就不适合频繁进行该持久化操作。
save 900 1 #900 秒内如果超过 1 个 key 被修改,则发起快照保存
save 300 10 #300秒超过10个key被修改,发起快照
save 60 10000 #60秒超过10000个key被修改,发起快照
上述三个save备份的考虑:
数据变化快的时候,备份频率就快高一些[数据相对安全、服务器负载高些]
数据变化慢,备份的频率就低一些[服务器负载也低]
1.1 手动发起快照持久化
手动发起一次快照持久化:
> ./redis-cli [-h 主机名ip -p 端口号码] bgsave
(-h -p 参数可以给其他服务器做快照持久化)
2. append only file (AOF持久化)
本质:把用户执行的每个"写"指令(添加、修改、删除)都备份到文件中,还原数据的时候就是执行具体写指令而已(与mysql的备份还原类似)。
2.1开启aof持久化
(第一次开启该aof持久化会清空redis的全部数据):
为了修改的配置文件生效,需要重启服务:
2.2. 该aof持久化备份频率
# appendfsync always //每次收到写命令就立即强制写入磁盘,最慢的,但是保证完全的持久化,不推荐使用,【数据最安全,服务器性能最低】
appendfsync everysec //每秒钟强制写入磁盘一次,在性能和持久化方面做了很好的折中,推荐 【数据相对安全,服务器性能折中】
# appendfsync no //完全依赖 os,性能最好,持久化没保证
【数据安全性低,服务器性能最高】
2.3 为aof备份文件做优化压缩处理
例如:可以把多个incr指令设置为一个set指令。
redis相关操作指令:
文章来源: hiszm.blog.csdn.net,作者:孙中明,版权归原作者所有,如需转载,请联系作者。
原文链接:hiszm.blog.csdn.net/article/details/79775197
- 点赞
- 收藏
- 关注作者
评论(0)