首页 / REDIS / redis的数据持久化存储
redis的数据持久化存储
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了redis的数据持久化存储,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1483字,纯文字阅读大概需要3分钟。
内容图文
redis的数据持久化存储
Redis是一个支持持久化的内存数据库,也就是说redis需要经常将内存中的数据同步到硬盘来保证持久化。Redis支持两种持久化方式:
一、snapshotting(快照)方式
快照是默认的持久化方式。这种方式是将内存中数据以快照的方式写入到二进制文件中,默认的文件名为dump.rdb。我们可以配置redis在n秒内如果超过若干个key被修改就自动做快照持久保存。
在约87行,有默认的快照策略(指定在多长时间内,有多少次更新操作,就将数据同步到数据快照文件,可以多个条件配合,客户端也可以使用 save 命令强制立即保存快照):
save 900 1 # 在900秒内有1个key更新,就写入快照文件
save 300 10 # 在300秒内有10个key更新,就写入快照文件
save 60 10000 # 在60秒内有10000个key更新,就写入快照文件
# 是否采用LZF方式压缩存储快照文件?
# 默认采用压缩存储(yes),压缩存储会更多的耗费CPU资源;
# 如果你想节省一些CPU资源,可以设置为不采用压缩存储(no),但这样会导致快照文件体积变的很大(利弊请自己权衡);
rdbcompression yes # 默认
# 快照文件
dbfilename dump.rdb # 默认文件名
# dbfilename /usr/local/redis/dbbak/dump.rdb # 如果需要也可以显式指定存储位置,这样的话dir配置选项会无效了
# 指定本地数据库存放目录(快照文件和aof文件存储目录)
dir ./ # 默认数据库快照文件、aof文件存储目录是当前目录
dir /usr/local/redis/dbbak/ # 也可以显式指定快照文件、aof文件的存储目录
二、append-only file(缩写aof)方式
由于快照方式是在一定间隔时间做一次的,所以如果redis意外down掉的话,就会丢失最后一次快照后的所有修改。
aof比快照方式有更好的持久化性,是由于在使用aof时,redis会将每一个收到的写命令都通过write函数追加到文件中,当redis重启时会通过重新执行aof文件中保存的“增删改”命令,而在内存中重建整个数据库内容。
由于OS会在内核中缓存write做的修改,所以可能不是立即写到磁盘上。这样aof方式的持久化也还是有可能会丢失部分修改。解决方式是可以通过配置文件告诉redis我们想要通过fsync函数强制OS写入到磁盘的时机。
# aof 总开关
在约283行找到 appendonly no 默认是关闭状态,如需将其启用改为:
appendonly yes
# aof文件存储路径
# appendfilename appendonly.aof # 默认文件名
# appendfilename /usr/local/redis/dbbak/appendonly.aof # 如果需要指定路径可显式指定修改,这样的话dir配置选项会无效了
# aof 方式 在约309行
# appendfsync always # 收到写命令就立即写入磁盘,最慢,但是保证完全的持久化
appendfsync everysec # 每秒钟写入磁盘一次,在性能和持久化方面做了很好的折中(默认,推荐)
# appendfsync no # 完全依赖os,性能最好,持久化没保证
原文:http://www.cnblogs.com/xie-xiao-chao/p/7930187.html
内容总结
以上是互联网集市为您收集整理的redis的数据持久化存储全部内容,希望文章能够帮你解决redis的数据持久化存储所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。