分享

Redis中的持久化操作【分享】

tntzbzc 发表于 2015-12-20 16:43:48 [显示全部楼层] 只看大图 回帖奖励 阅读模式 关闭右栏 1 8728
本篇博客主要来讲解一下如何Redis中的持久化操作,当然了不是一篇理论性的博客,主要还是分享一下在redis中如何来配置持久化操作。
1.介绍
redis为了内部数据的安全考虑,会把本身的数据以文本形式保存到硬盘中一份,在服务器重启之后会自动把硬盘的数据恢复到内存(redis)里边。数据保存到硬盘的过程就称为“持久化”效果。

2.snap shotting 快照持久化
这个持久化的操作在redis中是默认开启的,一次性把redis中全部的数据保存为一份存储在硬盘中,如果数据非常多的话,就不适合该持久化操作。
在redis.conf文本中可以配置频率,默认如下图

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

以上3个save的意思表示,数据修改的频率非常高,备份的频率也高
最后保存的目录如下,也可以修改

2.png

手动发起快照持久化
在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操作
3.png

最后启动后,会在当前目录中看到appendonly.aof文件。
AOF的追加频率
同样需要编辑redis.conf文件,来修改AOF的追加频率,常见参数如下
#appendfsync always:每次收到命令就立即强制写入磁盘,性能最慢,但是保证完全的持久化
#appendfsync everysec:每秒钟强制写入磁盘一次,在性能和持久化方面最了很好的折中
#appendfsync no:完全依赖操作系统,性能好的时候就持久,不好的时候就不持久化


已有(1)人评论

跳转到指定楼层
Pengjx2015 发表于 2015-12-20 18:42:16
redis真实的应用场景是什么?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条