Home  >  Article  >  System Tutorial  >  Analysis of Redis persistence storage method

Analysis of Redis persistence storage method

王林
王林Original
2024-06-16 09:42:47445browse

Analysis of Redis persistence storage method

1. RBD (snapshot)

principle

Write the data in the memory to a temporary file on the disk at a certain point in time. After the persistence is completed, use this temporary file to replace the last persisted file.

Configuration file

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的存放路径
2. AOF

principle

The AOF file is formed by recording the write operation command sent to the server. This file can only be appended but not modified. When Redis starts, it will read the AOF file and reconstruct the data (execute it again). The default name of the file is appendonly.aof

Configuration file

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 rewriting, refactoring

Consolidate a large number of repeated commands into one command without having to re-execute each command frequently.
Analysis of Redis persistence storage method

3. AOF vs. RDB

AOF is more secure and can synchronize data to files instantly, but it consumes disk I/O and is inefficient

Snapshot is more efficient. It is the best way to synchronize data under normal operation of the server. It has small file size, high efficiency and low security.

Note: RDB and AOF are enabled at the same time, and AOF is used to restore data by default

4. Commonly used architecture

In a well-structured environment: Master uses AOF and Slave uses snapshot. The reason is mainly to ensure data integrity and speed.

Poor network environment: It is recommended to use master and slave at the same time to use AOF to be more secure

If the network is good and intensive write operations are required: it is recommended to use snapshot for the Master and AOF for the Slave

The above is the detailed content of Analysis of Redis persistence storage method. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn