数据库
- redis的过期键删除策略
- 惰性删除
- 定期删除
- 数据库中包含过期键不会对生成新的RDB文件造成影响
RDB持久化
- 将redis在内存中的数据库状态保存到磁盘中,避免数据意外丢失
- 生成的RDB文件是一个结果压缩的二进制文件,通过该文件可以还原生成RDB文件时的数据库状态
- RDB文件的创建
- SAVE
- 会阻塞redis服务器进程,直到RDB文件创建完毕为止
- 客户端发送的所有命令请求都会被拒绝
- BGSAVE
- 派生出一个子进程,然后由子进程负责创建RDB文件,服务器进程继续处理命令请求
- SAVE
- RDB文件的载入
- RDB文件的载入工作是在服务器启动时自动执行的
- 如果服务器开启了AOF持久化功能,服务器会优先使用AOF文件来还原数据库状态
- 只有在AOF持久化功能处于关闭状态时,服务器才会使用RDB文件来还原数据库状态
- 在载入RDB文件期间,会一直处于阻塞状态,直到载入工作完成为止
AOF持久化
- AOF,append only file,通过保存redis服务器所执行的写命令来记录数据库状态
- 功能实现步骤
- 命令追加,append
- 文件写入
- 文件同步