当前位置:网站首页>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
" .
边栏推荐
- Django数据库(SQlite)基本入门使用教程
- Redis入门完整教程:AOF持久化
- 慧通编程入门课程 - 2A闯关
- Derivative, partial derivative, directional derivative
- Go swagger use
- Code line breaking problem of untiy text box
- C # / vb. Net supprime le filigrane d'un document word
- PSINS中19维组合导航模块sinsgps详解(滤波部分)
- Fundamentals of process management
- CSDN 夏令营课程 项目分析
猜你喜欢

AWS学习笔记(一)

Redis入门完整教程:AOF持久化
![[Mori city] random talk on GIS data (II)](/img/5a/dfa04e3edee5aa6afa56dfe614d59f.jpg)
[Mori city] random talk on GIS data (II)

unity 自定义webgl打包模板

The annual salary of general test is 15W, and the annual salary of test and development is 30w+. What is the difference between the two?

Digital scrolling increases effect

Go swagger use

从零安装Redis

换个姿势做运维!GOPS 2022 · 深圳站精彩内容抢先看!

Redis入门完整教程:复制配置
随机推荐
从控制理论的角度谈数据分析
wireshark安装
Ali yunyili: how does yunyuansheng solve the problem of reducing costs and improving efficiency?
MATLB|具有储能的经济调度及机会约束和鲁棒优化
ODBC database connection of MFC windows programming [147] (with source code)
How to design interface test cases? Teach you a few tips to draft easily
你不可不知道的Selenium 8种元素定位方法,简单且实用
Redis入门完整教程:问题定位与优化
CDB PDB 用户权限管理
4 -- Xintang nuc980 mount initramfs NFS file system
Examples of how to use dates in Oracle
What are the characteristics of the operation and maintenance management system
进程管理基础
一本揭秘字节万台节点ClickHouse背后技术实现的白皮书来了!
The annual salary of general test is 15W, and the annual salary of test and development is 30w+. What is the difference between the two?
基于ensp防火墙双击热备二层网络规划与设计
wzoi 1~200
CDB PDB user rights management
PSINS中19维组合导航模块sinsgps详解(初始赋值部分)
CSDN 夏令营课程 项目分析