Redis 的数据全部在内存里,如果突然宕机,数据就会全部丢失,因此必须有一种机制来保证 Redis 的数据不会因为故障而丢失,这种机制就是 Redis 的持久化机制,下面为大家详细讲解讲解一下Redis持久化存储。
成都创新互联公司从2013年成立,是专业互联网技术服务公司,拥有项目网站设计制作、做网站网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元海陵做网站,已为上家服务,为海陵各地企业和个人服务,联系电话:18980820575
原理
在某个时间点将内存中的数据写入一个磁盘的临时文件,持久化结束后,用这个临时文件替换上次持久化的文件。
配置文件
save 900 1 # 在900秒内如果键值修改过1次就快照
save 300 10 # 在300秒内如果键值修改过10次就快照
save 60 10000 # 在60秒内键值修改过10000次就快照
stop-writes-on-bgsave-error yes # 后台备份出错时,是否禁止新的写入操作?
如果不禁止容易造成数据不一致
rdbcompression yes # 导出的rdb文件是否压缩
rdbchecksum yes # 恢复时导入rdb文件是否检验完整性、是否检验版本是否一致
dbfilename dump.rdb # 导出来得rdb文件名
dir /var/lib/redis # rdb的存放路径
原理
通过将发送到服务器的写操作命令记录下来,形成AOF文件,此文件只许追加不能修改,Redis启动时会读取AOF文件后重构数据(重新执行一遍)。 文件默认名称是appendonly.aof
配置文件
appendonly no # 是否开启aof功能
appendfilename "appendonly.aof" # 文件名
appendfsync always # 只要一修改就同步至缓冲区,并同步至磁盘
appendfsync everysec # 每秒将数据同步至缓冲区,并同步至磁盘
appendfsync no # redis不设定同步策略,由内核设定的参数决定是否同步
no-appendfsync-on-rewrite no # appendfsync设定为always或everysec的话,还要不要同步磁盘
auto-aof-rewrite-percentage 100 # 每隔多久重构aof文件,单位秒
auto-aof-rewrite-min-size 64mb # aof文件最小为多少时重构一次aof文件。搭配上一条使用
aof-load-truncated yes # 崩溃修复后自动进行全备
aof重写、重构
将大量重复的命令合并成一条命令,而不必频繁的去重新执行每一条命令.
AOF更加安全,可以将数据即时同步到文件中,但是消耗磁盘I/O,效率低
Snapshot更高效,它是服务器在正常运行情况下数据同步最佳手段,文件尺寸小,效率高,安全性低
注:RDB与AOF同时开启 默认使用AOF来恢复数据
架构良好的环境中:Master使用AOF,Slave使用snapshot。 原因是主要确保数据完整,从要速度快。
网络环境较差:建议使用master与slave同时使用AOF更加安全
网络良好、需要收密集型写操作:建议Master采用snapshot,Slave采用AOF
分享名称:详解Redis持久化存储机制
文章转载:http://www.36103.cn/qtweb/news16/25316.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联