微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Redis之持久化

redis一个支持持久化的内存数据库,也就是说redis需要经常将内存中的数据同步到硬盘来保证持久化。redis支持两种持久化方式:
1、snapshotting(快照)也是认方式。将内存中的数据以快照的方式写入到文件认的文件名是dump.rdb。
[root@D2-LZY245 redis-4.0.1]# grep ^save redis.conf
save 900 1
save 300 10
save 60 10000

2、append-only file(aof)的方式。由于快照方式是在一定间隔时间做一次,所以如果redis意外down掉的话,就会丢失最后一次快照后的所有修改。aof比快照方式有更好的持久性,是由于在使用aof时,redis会将每一个收到的写命令都通过write函数追加到文件中,当redis重启时会通过重新执行文件中保存的写命令来在内存中重建整个数据库内容
由于os会在内核中缓存write做的修改,所有可能不是立即写到磁盘上。这样aof方式的持久化也还是有可能会丢失部分修改。可以通过配置文件告诉redis想要通过fsync函数强制OS写入到磁盘的时机。
# The name of the append only file (default: "appendonly.aof")
appendfilename "appendonly.aof"
# always: fsync after every write to the append only log. Slow, Safest.
# appendfsync always
appendfsync everysec
# appendfsync no

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐