当前位置:网站首页>A complete tutorial for getting started with redis: RDB persistence
A complete tutorial for getting started with redis: RDB persistence
2022-07-07 02:49:00 【Gu Ge academic】
RDB Persistence is the process of saving a snapshot of the current process data to the hard disk , Trigger RDB a
The aging process is divided into manual trigger and automatic trigger .
5.1.1 Trigger mechanism
Manual trigger corresponds to save and bgsave command :
·save command : Block the current Redis The server , until RDB Until the process is complete , For memory
Larger examples can create long-term blockages , Online environment is not recommended . function save Command corresponding to the
Of Redis The log is as follows :
* DB saved on disk
·bgsave command :Redis Process execution fork Action create subprocess ,RDB The persistence process is the result of
Process responsible , It will automatically end when it is finished . The blockage only happens in fork Stage , The average time is very short . function
bgsave The command corresponds to Redis The log is as follows :
* Background saving started by pid 3151
* DB saved on disk
* RDB: 0 MB of memory used by copy-on-write
* Background saving terminated with success
obviously bgsave The order is for save Optimization of blocking problem . therefore Redis All internal references
And RDB The operation of the bgsave The way , and save The order has been abandoned .
In addition to executing the command to trigger manually ,Redis There are also automatic triggers inside RDB The persistence of
Mechanism , For example, the following scenario :
1) Use save Related configuration , Such as “save m n”. Express m Data set exists in seconds n Time modification
when , Automatic triggering bgsave.
2) If full replication is performed from a node , Automatic execution of master node bgsave Generate RDB writing
And send it to the slave node , See... For more details 6.3 The principle of replication described in Section .
3) perform debug reload Command reload Redis when , It will also trigger automatically save operation .
4) Execute by default shutdown On command , If it's not on AOF The persistence function is
Automatic execution bgsave.
5.1.2 Process description
bgsave It's the mainstream trigger RDB Persistence mode , Now according to the picture 5-1 Understand its operation flow
cheng .

1) perform bgsave command ,Redis The parent process determines whether there is an executing child in progress
cheng , Such as RDB/AOF Subprocesses , If there is bgsave The command returns directly to .
2) Parent process execution fork Action create subprocess ,fork Parent process will block during operation , through
too info stats Command view latest_fork_usec Options , You can get the latest fork Operation cost
when , In microseconds .
3) The parent process fork After completion ,bgsave Command return “Background saving started” Information
And no longer block the parent process , You can continue to respond to other commands .
4) Subprocess creation RDB file , Generate a temporary snapshot file based on the memory of the parent process , After completion
Atomic replacement of the original file . perform lastsave Command to get the last build RDB Of
Time , Corresponding info The statistical rdb_last_save_time Options .
5) The process signals the parent process that it's done , Parent process update statistics , Specific view
info Persistence Under the rdb_* Related options .
5.1.3 RDB Handling of documents
preservation :RDB The file is kept in dir Configure the specified directory , File name passed dbfilename with
Set designation . Can be executed by config set dir{newDir} and config set
dbfilename{newFileName} Run time dynamic execution , When next run RDB The file will be saved to
New catalog .
Operation and maintenance tips
When a bad disk or disk is full , Can pass config set dir{newDir} On-line
Modify the file path to the available disk path , After performing bgsave Perform disk switching , The same applies
On AOF Persistent files .
Compress :Redis By default LZF Algorithm pair generated RDB File compression , Compressed
The file size is much smaller than the memory size , Default on , You can use the parameter config set
rdbcompression{yes|no} Dynamic modification .
Operation and maintenance tips
Although compressed RDB Will consume CPU, But it can greatly reduce the volume of the file , Easy to save to hard disk
Or send it to the slave node through the network , Therefore, it is suggested to open .
check : If Redis Load corrupted RDB File refused to start , And print the following log :
# Short read or OOM loading DB. Unrecoverable error, aborting now.
You can use Redis Provided redis-check-dump Tool detection RDB File and get the right
Should be reported .
5.1.4 RDB Advantages and disadvantages
RDB The advantages of :
·RDB Is a compact binary , representative Redis Data at a certain point in time
snapshot . Ideal for backup , Full scale replication and other scenarios . Like every 6 Hours to perform bgsave Backup ,
And put RDB Copy files to a remote machine or file system ( Such as hdfs), For disaster recovery .
·Redis load RDB Recover data much faster than AOF The way .
RDB The shortcomings of :
·RDB Modal data cannot be persisted in real time / Second persistence . because bgsave Every time
All trades must be carried out fork Action create subprocess , Is a heavyweight operation , Frequent execution cost is too high .
·RDB Files are saved in a specific binary format ,Redis There are multiple formats in the version evolution process
Of RDB edition , There is an old version Redis The service is not compatible with the new version RDB The problem of format .
in the light of RDB Problems that are not suitable for real-time persistence ,Redis Provides AOF Persistent way to solve
" .
边栏推荐
- CDB PDB 用户权限管理
- Difference and the difference between array and array structure and linked list
- Metaforce force meta universe fossage 2.0 smart contract system development (source code deployment)
- widerperson数据集转化为YOLO格式
- 记一次JAP查询导致OOM的问题分析
- Safety delivery engineer
- Examples of how to use dates in Oracle
- 一文读懂Faster RCNN
- [leetcode]Search for a Range
- PSINS中19维组合导航模块sinsgps详解(滤波部分)
猜你喜欢

MES管理系统的应用和好处有哪些

C#/VB.NET 删除Word文檔中的水印

Matlb| economic scheduling with energy storage, opportunity constraints and robust optimization

What are the characteristics of the operation and maintenance management system

Station B's June ranking list - feigua data up main growth ranking list (BiliBili platform) is released!

6-6漏洞利用-SSH安全防御

6-6 vulnerability exploitation SSH security defense

Lombok makes the pit of ⽤ @data and @builder at the same time
![[Mori city] random talk on GIS data (II)](/img/5a/dfa04e3edee5aa6afa56dfe614d59f.jpg)
[Mori city] random talk on GIS data (II)

Redis入门完整教程:复制配置
随机推荐
进程管理基础
CSDN summer camp course project analysis
数字滚动增加效果
Andrews - multimedia programming
Code line breaking problem of untiy text box
Electrical engineering and automation
Wireshark installation
PCL 常用拟合模型及使用方法
Unity custom webgl packaging template
Redis入门完整教程:问题定位与优化
Summary of basic debugging steps of S120 driver
Station B's June ranking list - feigua data up main growth ranking list (BiliBili platform) is released!
Common fitting models and application methods of PCL
Metaforce force meta universe fossage 2.0 smart contract system development (source code deployment)
写作系列之contribution
MySQL is an optimization artifact to improve the efficiency of massive data query
MetaForce原力元宇宙佛萨奇2.0智能合约系统开发(源码部署)
[software test] the most complete interview questions and answers. I'm familiar with the full text. If I don't win the offer, I'll lose
【Socket】①Socket技术概述
Google Earth engine (GEE) -- 1975 dataset of Landsat global land survey