Redis is actually a program written in C language. This program is used to store key-value data. The data is first placed in the memory and then written to the specified location on the disk.
Let’s sort out the two ways of Redis storage: RDB and AOF (Recommended learning: Redis video tutorial)
First One way: RDB (Redis DataBase)
RDB writes data to a temporary file. After persistence is completed, this temporary file is used to replace the last persisted file to achieve data recovery.
rdis database storage method is to store data in a xxx.rdb file. The data saved in the file is the memory data in redis. The default storage method is highly efficient, the access to the disk is reasonable, and the monitoring of memory data also has a certain threshold to ensure that data is not lost as much as possible.
redis.conf
# In the example below the behaviour will be to save: # after 900 sec (15 min) if at least 1 key changed # after 300 sec (5 min) if at least 10 keys changed # after 60 sec if at least 10000 keys changed # Note: you can disable saving completely by commenting out all "save" lines. # It is also possible to remove all the previously configured save # points by adding a save directive with a single empty string argument # like in the following example: # save "" # 持久数据的规则. RDB持久规则. 存储数据的文件由dbfilename参数决定 save 900 1 save 300 10 save 60 10000 # RDB持久数据的文件命名. 可以使用绝对路径配置,如果没有路径配置,在命令运行的相对位置开始寻址存在。 dbfilename dump.rdb
The second way: AOF (appendonly file)
AOF is to The executed instructions are recorded, and during data recovery, the instructions are executed again in order from front to back to achieve data recovery.
Among them, AOF is closed by default. To enable it, modify the configuration file redis.conf: appendonly yes
append of file storage method. The resource requirements for disk and IO are much higher than the RDB method. It has a great impact on the performance of the redis server. Aof and rdb can be opened at the same time, but when redis restarts, the data change log saved in aof will be read first. It is not recommended to enable them at the same time because the pressure on the disk and IO is too high. It is recommended to use rdb.
# 是否启用append of file持久化方式.默认关闭. # 每秒持久一次数据. 以追加的方式,持久到数据文件. appendonly no # aof持久方式的文件名称. appendfilename "appendonly.aof"
For more Redis-related technical articles, please visit the Redis Getting Started Tutorial column to learn!
The above is the detailed content of What are the storage methods of redis?. For more information, please follow other related articles on the PHP Chinese website!