Nosql之Redis:持久化机制(快照和aof)
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Nosql之Redis:持久化机制(快照和aof),小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1919字,纯文字阅读大概需要3分钟。
内容图文
![Nosql之Redis:持久化机制(快照和aof)](/upload/InfoBanner/zyjiaocheng/557/02b2683d9ce74d0b8947a5397858a6be.jpg)
数据持久化 通俗讲就是把数据保存到磁盘上,保证不会因为断电等因素丢失数据。 redis需要经常将内存中的数据同步到磁盘来保证持久化。redis支持两种持久化方式,一种是 Snapshotting(快照) 也是默认方式,另一种是 Append-only file(缩写aof) 的方式 sna
数据持久化通俗讲就是把数据保存到磁盘上,保证不会因为断电等因素丢失数据。
redis需要经常将内存中的数据同步到磁盘来保证持久化。redis支持两种持久化方式,一种是 Snapshotting(快照)也是默认方式,另一种是Append-only file(缩写aof)的方式
snapshotting(快照)方式:
这种方式是将内存中数据以快照的方式写入到二进制文件中,默认的文件名为dump.rdb(redis的bin目录下).
可以通过配置设置自动做快照持久化的方式.我们可以配置redis在n秒内如果超过M个KEY修改就自动做快照.
save 900 1 #900秒内如果超过1个KEY被修改,则发起快照.
save 300 10 #300秒内如果超过10个KEY被修改,则发起快照.
快照保存机制:
1: redis先调用fork子进程,
2: 子进程负责将内存内容写入到临时文件.
3: 当子进程将快照写入临时文件完毕时,替换原来快照文件.子进程退出.
快照是在一定间隔时间做一次的,如果redis意外down掉的话,就会丢失最后一次快照时所有修改.
每次快照持久化都是将内存数据完整写入到磁盘一次,并不 是增量的只同步脏数据。如果数据量大的话,而且写操作比较多,必然会引起大量的磁盘io操作,可能会严重影响性能
aof方式:
比快照有更好的持久性,是由于在使用aof时,redis会将每一个收到的写命令都通过write函数追加到文件中,当redis重启时会通过重新执行文件中保存的写命令来在内存中重建整个数据库的内容.
文件名为appendonly.aof (redis的bin目录下,存的都是一些操作命令).
[root@localhost redis]# vi /usr/local/redis/etc/redis.conf
修改配置如下:
#开启aof
appendonly no改为appendonly yes
在Redis的配置文件中存在三种同步方式,它们分别是:
#每次有数据修改发生时都会写入AOF文件。效率最慢,但保证完全持久化.
appendfsync always??
#每秒钟同步一次,该策略为AOF的缺省策略。 性能和持久做了很好折中.
appendfsync everysec
#从不同步。高效但是数据不会被持久化.持久化没保证
appendfsync no?????????
内容总结
以上是互联网集市为您收集整理的Nosql之Redis:持久化机制(快照和aof)全部内容,希望文章能够帮你解决Nosql之Redis:持久化机制(快照和aof)所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。