Redis provides two persistence mechanisms, RDB and AOF mechanisms:
1. RDBRedis DataBase) persistence mode:
Refers to the semi-persistent mode of using a snapshot of the data set) to record all the key-value pairs of the redis database, and write the data to a temporary file at a certain point in time. After the end of the persistence, replace the last persistent file with this temporary file File to achieve data recovery.
advantage:
(1) There is only one file dump.rdb, which is convenient for persistence.
(2) Good disaster tolerance, a file can be saved to a safe disk.
(3) To maximize performance, fork the child process to complete the write operation and let the main process continue to process commands, so IO is maximized. Use a separate child process for persistence, the main process will not perform any IO operations, ensuring the high performance of redis)
(4) When the data set is large, the startup efficiency is higher than that of AOF.
shortcoming:
Data security is low. RDB is persisted at intervals. If redis fails between persistence, data loss will occur. So this method is more suitable when the data requirements are not rigorous
2. AOFAppend-only file) persistence method:
It means that all command line records are completely persistently stored in the format of the redis command request protocol) and saved as an aof file.
advantage:
(1) Data security, aof persistence can be configured with appendfsync attribute, there is always, every time a command operation is performed, it will be recorded in the aof file once.
(2) Write files through append mode, even if the server is down in the middle, you can use the redis-check-aof tool to solve the data consistency problem.
(3) The rewrite mode of the AOF mechanism. Before the AOF file is rewrite (when the file is too large, the command will be merged and rewritten), you can delete some of the commands (such as the incorrectly operated flushall))
shortcoming:
(1) The AOF file is larger than the RDB file, and the recovery speed is slow.
(2) When the data set is large, the startup efficiency is lower than that of rdb.
Also read:
Comments
Post a Comment