redis持久化介绍:
redis是一种高级的key-value数据库,它和memcached类似,不过数据可以持久化,且支持的类型很丰富,有字符串,链表,集合和有序集合。
由于redis的数据都存放在内存中,如果没有配置持久化,redis重启后数据就会丢失,所以需要开启redis的持久化功能,将数据保存到磁盘上,当redis重启后,可以从磁盘中恢复数据。
redis持久化的两种方式:
一种是RDB持久化:将redis在内存中的数据库记录定时dump到磁盘上的RDB持久化 (dump是备份,可以去另一篇博客查看详细内容)
另一种是AOF持久化:将redis的操作日志以追加的方式写入文件
redis两种方式的优缺点:
ROB优点:全量数据快照,文件小,恢复快
ROB缺点:无法保存最近一次快照之后的数据,数据量大的话会让I/O严重影响性能
AOF优点:可读性高,适合保存增量数据,数据不易丢失
AOF缺点:文件体积大,恢复时间长
自动间隔保存(配置规则):
1 2 3 |
|
ROB 文件还原
服务器启动时,会直接载入ROB文件 但是如果AOF文件存在,则会载入AOF文件。
AOF持久化
AOF是通过保存客户端传过来的写命令来记录数据库的状态
AOF持久化的时机:
需要在配置文件中加入:
1 2 |
|
AOF持久化的步骤
1.命令追加
2.文件写入
3.文件同步