目录
1. 什么是持久化?
2. redis实现持久化的方式
2.1 什么是RDB?
2.2 什么时候会触发RDB模式?
2.2.1 手动触发
2.2.2 自动触发
2.3 什么是Aof?
2.3.1 开启Aof
2.4 RBD和AOF的区别
1. 什么是持久化?
把内存中的数据存储到磁盘的过程。同时也可以把磁盘中的数据加载到内存中。
2. redis实现持久化的方式
redis实现持久化的方式提供了两种:
- 第一种:RDB
- 第二种:AOF
2.1 什么是RDB?
RDB(redis database):快照模式,每隔一段时间对内存中的数据进行快照存储。 默认启用该模式。
2.2 什么时候会触发RDB模式?
2.2.1 手动触发
手动触发:save和bgsave命令手动触发rdb。保存的名称dump.rdb。
save:该命令会阻塞当前Redis服务器,执行save命令期间,Redis不能处理其他命令,直到RDB过程完成为止。具体流程如下:
bgsave: 执行该命令时,Redis会在后台异步进行快照操作,快照同时还可以响应客户端请求。具体流程如下:
bgsave在执行该命令时会fork出一个新的线程,单独执行rdb持久化操作,而不影响其他客户对redis服务的操作。唯一的多线程。
2.2.2 自动触发
自动触发:通过配置文件搞定。
需要修改配置文件:
2.3 什么是Aof?
AOF(append only file): 日志(每执行一个写操作)追加模式,默认redis没有开启该模式。需要手动开启。默认的文件名appendonly.aof。
2.3.1 开启Aof
把配置文件中的appendonly no 改成yes即可
当启动redis服务器,会把日志文件中的命令从上到下执行。
2.4 RBD和AOF的区别
- RDB快照模式:优点:数据备份和恢复速度快。缺点:数据完整性差,数据可能丢失多。
- AOF日志追加:优点:数据完整性高。 缺点:数据备份和恢复速度慢。