redis -持久化功能

举报
孙中明 发表于 2022/01/23 01:10:45 2022/01/23
【摘要】   持久化功能   redis(nosql产品)为了内部数据的安全考虑,会把本身的数据以文件形式保存到硬盘中一份,在服务器重启之后会自动把硬盘的数据恢复到内存(redis)的里边。 数据保存到硬盘的过程就称为"持久化"效果。 1. snap shotting快照持久化 该持久化默认开启,一次性把r...

 

持久化功能

 

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

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

1. snap shotting快照持久化

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

 

 

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

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

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

 

上述三个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

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。