redis持久化

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

save 900 1     # 每900秒检查一次,如果有1条数据修改了,那么执行 rdb

save 300 10    # 每300秒检查一次,如果有10条数据修改了,那么执行 rdb

save 60 10000  # 每60秒检查一次,如果有10000条数据修改了,那么执行 rdb

ROB 文件还原

服务器启动时,会直接载入ROB文件   但是如果AOF文件存在,则会载入AOF文件。

AOF持久化

AOF是通过保存客户端传过来的写命令来记录数据库的状态

AOF持久化的时机:

需要在配置文件中加入:

 

1

2

在redia.conf配置文件下

appendonly yes

AOF持久化的步骤

1.命令追加

    2.文件写入

3.文件同步


版权声明:本文为itxib原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。