Redis数据库持久化(RDB/AOF)

来源:互联网 发布:淘宝装修工具2.1 编辑:程序博客网 时间:2024/05/16 03:58
 Redis是内存数据库,如果不保存在磁盘上,一旦服务器进程退出,服务器中的数据将会消失。 Redis提高RDB持久化功能,可以手动执行也可以根据服务器配置定期执行。RDB文件是压缩的二进制文件,通过该文件可以还原生成RDB文件时的数据库状态。

RDB文件的创建和载入
创建RDB文件的命令:save,bgsave
redis>save //等待直到文件创建完毕
改命令会造成服务器的阻塞
redis>bgsave //创建一个子进程,服务器进程继续正常任务,不会造成阻塞。
同时可以设置save条件,自动备份。 save 时间 次数
其中RDB文件是自动载入到redis中,不需要命令执行。redis服务器自动扫描RDB文件。
RDB文件结构:二进制文件。
这里写图片描述
REDIS:保存着REDIS五个字符,用于载入时识别是否是RDB文件。
db_version:记录版本号
databases:包含0个或者多个数据库。
dirty计数器和lastsave属性
dirty计数器记录距离上一次成功执行save命令或者bgsave命令后,服务器对数据库状态进行了多少次的修改。
lastsave属性是一个UNIX时间戳,记录了服务器上一次成功执行save命令或者bgsave命令的时间。

AOF
AOF持久化是通过保存redis服务器所执行的命令来记录数据库状态,RDB持久化是通过保存数据库中的键值对来记录数据库状态。
这里写图片描述

AOF持久化实现是通过:追加(append),文件写入,文件同步(sync)

原创粉丝点击