Redis数据的持久化

Redis的持久化有两种方式:

RDB(Redis Database)和AOF(Append Only File)

目录

一、RDB

保存方式

2、rdb在redis.conf文件中的配置

二、AOF

1、保存方式

2、aof方式持久化在redis.conf文件中的配置

三、持久化建议

四、单机版-redis部署


一、RDB

保存方式

将Redis数据以快照的形式保存到磁盘中

在RDB方式下,Redis提供了save和bgsave两种方式进行数据持久化。

其中save方式是在主进程中执行,会阻塞所有的客户端请求,直到快照保存完成。

bgsave方式则是通过创建子进程进行数据持久化,并不会阻塞客户端请求。

在save和bgsave中,save会在执行完指定时间内的写操作后进行快照保存,而bgsave则是在指定时间内开启一个子进程进行快照保存。

在save和bgsave中,save会在执行完指定时间内的写操作后进行快照保存,而bgsave则是在指定时间内开启一个子进程进行快照保存。

save 900 1
save 300 10
save 60 10000
redis的持久化操作为什么要保存三次

因为在Redis的持久化过程中,如果只进行一次快照保存,可能会因为系统崩溃或者其他原因导致数据丢失。而多次进行快照保存,可以增加数据的保护程度,降低数据丢失的风险。因此,通常会对持久化操作进行多次保存,在上述的示例中,就是在900秒、300秒和60秒后分别进行一次快照保存。

2、rdb在redis.conf文件中的配置

dir /a/b/c

#该名称会在dir目录下生成

dbfilename dump.rdb

rdbcompression yes

#rdbcompression指定是否开启rdb文件的压缩存储,默认为yes,开启压缩存储后可以减小RDB文#件的大小,但会增加cpu的使用量。

二、AOF

1、保存方式

将Redis的每个写操作以追加的方式记录到AOF文件中,这样在redis重启时可以通过重新执行AOF文件中记录的写操作来恢复数据

2、aof方式持久化在redis.conf文件中的配置

dir /a/b/c

#开启AOF持久化方式

appendonly yes

#文件名

appendfilename "appendonly-41.aof"

三、持久化配置-建议

在配置redis.conf时,可以同时配置rdb和aof两种格式的持久化操作吗,有什么推荐?

可以同时配置RDB和AOF两种格式的持久化操作,因为它们各有优缺点,可以根据实际情况选择合适的持久化方式。

RDB持久化方式可以将Redis数据库在指定的时间间隔内生成快照,并将快照保存到硬盘上。快照保存的是Redis数据库在某个时间点的数据,可以保证数据的完整性。但是,如果Redis服务器在快照生成之后崩溃,最后一次快照生成之后的新写入数据将会丢失。

AOF持久化方式可以将Redis数据库中所有的写命令记录在追加文件中,当Redis服务器重启时,可以通过重新执行AOF文件中的所有命令来还原数据。AOF持久化方式可以更好地保证数据的一致性,但是由于需要记录每个写命令,所以AOF文件通常比RDB文件更大,重启时也需要更长的时间来还原数据。

根据业务的需求和实际情况,可以选择RDB、AOF或RDB与AOF的组合持久化方式。如果数据的完整性比较重要,可以使用RDB方式;如果数据的一致性比较重要,可以使用AOF方式;如果既要保证数据的完整性,又要保证数据的一致性,可以使用RDB与AOF的组合方式。一般来说,建议使用AOF持久化方式,因为它更能保证数据的一致性。

四、单机版-redis部署

https://blog.csdn.net/Isonion/article/details/134442807?spm=1001.2014.3001.5501

猜你喜欢

转载自blog.csdn.net/Isonion/article/details/134463788