Redis中的持久化操作

               

 

 本篇博客主要来讲解一下如何Redis中的持久化操作,当然了不是一篇理论性的博客,主要还是分享一下在redis中如何来配置持久化操作。

 1.介绍

 redis为了内部数据的安全考虑,会把本身的数据以文本形式保存到硬盘中一份,在服务器重启之后会自动把硬盘的数据恢复到内存(redis)里边。数据保存到硬盘的过程就称为“持久化”效果。


 2.snap shotting 快照持久化

 这个持久化的操作在redis中是默认开启的,一次性把redis中全部的数据保存为一份存储在硬盘中,如果数据非常多的话,就不适合该持久化操作。

 在redis.conf文本中可以配置频率,默认如下图



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

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

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


 以上3个save的意思表示,数据修改的频率非常高,备份的频率也高

 最后保存的目录如下,也可以修改




 手动发起快照持久化

 在redis中,我们也可以手动的发起快照保存,来保存我们的数据,常用的命令如下

 bgsave:异步保存数据到磁盘

 lastsave:返回上次成功保存到磁盘的时间戳

 shutdown:同步保存到服务器并关闭redis服务器

 bgrewriteaof:当日志文件过长时优化AOF日志文件存储

 #./redis-cli bgrewriteaof  #./redis-cli -h hostname -p port


3.append only file(AOF持久化)

 这个持久化操作可以把用户的每个命令都保存到数据中,包括CRUD操作,还原数据的时候就是把这些执行执行而已

 首先需要开启AOF持久化操作,同样需要修改redis.conf文件,需要注意的是开启后会清空redis中的数据,因此在安装完redis后就需要开启AOF操作



 最后启动后,会在当前目录中看到appendonly.aof文件。

 AOF的追加频率

 同样需要编辑redis.conf文件,来修改AOF的追加频率,常见参数如下

 #appendfsync always:每次收到命令就立即强制写入磁盘,性能最慢,但是保证完全的持久化

 #appendfsync everysec:每秒钟强制写入磁盘一次,在性能和持久化方面最了很好的折中

 #appendfsync no:完全依赖操作系统,性能好的时候就持久,不好的时候就不持久化

 




           

再分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.csdn.net/jiangjunshow

猜你喜欢

转载自blog.csdn.net/qq_43747119/article/details/87001034