Redis持久化存储方式解析

Crq
Crq
Crq
1171
文章
0
评论
2024年9月10日04:57:52
评论
30 1121字阅读3分44秒
摘要

Redis是一个支持持久化的内存数据库,也就是说redis需要经常将内存中的数据同步到磁盘来保证持久化。redis支持四种持久化方式,一是 Snapshotting(快照)也是默认方式;二是Append-only file(缩写aof)的方式;三是虚拟内存方式;四是diskstore方式。

一、RBD(快照)

原理

在某个时间点将内存中的数据写入一个磁盘的临时文件,持久化结束后,用这个临时文件替换上次持久化的文件。

配置文件

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

原理

通过将发送到服务器的写操作命令记录下来,形成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对比RDB

AOF更加安全,可以将数据即时同步到文件中,但是消耗磁盘I/O,效率低

Snapshot更高效,它是服务器在正常运行情况下数据同步最佳手段,文件尺寸小,效率高,安全性低

注:RDB与AOF同时开启 默认使用AOF来恢复数据

四、常用架构

架构良好的环境中:Master使用AOF,Slave使用snapshot。原因是主要确保数据完整,从要速度快。

网络环境较差:建议使用master与slave同时使用AOF更加安全

网络良好、需要收密集型写操作:建议Master采用snapshot,Slave采用AOF

weinxin
我的微信
这是我的微信扫一扫
Crq
  • 本文由 发表于 2024年9月10日04:57:52
  • 转载请注明:https://www.cncrq.com/10649.html
三步搞定CentOS7下的MariaDB 10 Linux教程

三步搞定CentOS7下的MariaDB 10

MariaDB 是 MySQL 数据库的自由开源分支,与 MySQL 在设计思想上同出一源,在未来仍将是自由且开源的。在这篇博文中,我将会介绍如何在当前使用最广的 RHEL/Cen...
Linux安全必做的几个设置(二) Linux教程

Linux安全必做的几个设置(二)

安全无小事,在这个系列中, 我们会讨论一些阻止黑客入侵你的系统的重要信息,也可以观看这个免费的网络点播研讨会获取更多的信息。在上一部分中,我们介绍了两种方法阻止黑客入侵你的Linu...
Linux安全必做的几个设置(一) Linux教程

Linux安全必做的几个设置(一)

安全无小事,在这个系列中, 我们会讨论一些阻止黑客入侵你的系统的重要信息,也可以观看这个免费的网络点播研讨会获取更多的信息。今天我们介绍了两种方法阻止黑客入侵你的Linux系统。
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: