Redis持久化
Sunday 2023/11/19 redis
# Redis持久化
# 1、RDB(Redis database)
指定时间间隔内将内存中的数据快照写入磁盘,是某个时间点上数据的完整副本,可以通过配置文件的save参数来配置
在配置文件中 写一行
save 秒数 次数
例如:
save 3600 1
表示一个小时内只要进行了一次数据库操作,就进行保存
save 600 100
表示在十分钟内进行100次操作才保存一次
或者直接在命令行执行save
命令就可以保存一次快照
会保存为一个dump.rdb
文件
# 1.1 防止阻塞
当内存中的数据较大,同步到硬盘这个过程会导致redis阻塞,不能接受任何请求
于是redis提供了bgsave
命令
该命令会单独创建一个子进程来负责将内存中的数据写入到硬盘中,这样主进程就可以继续处理请求,但是这个过程中仍然有性能损耗。大部分时候还是无法继续处理请求。
# 2、AOF(Append Only File)
在执行命令的时候,不仅会写入到内存中,还会同时写入到硬盘,以日志形式记录每一个写操作,当redis重启的时候就会重新执行AOF文件中的命令
开启方式,将配置文件中的appendonly
参数改为yes