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缺点:文件体积大,恢复时间长

自动间隔保存(配置规则):

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持久化的时机:

  需要在配置文件中加入:

 

在redia.conf配置文件下
appendonly yes

AOF持久化的步骤

  1.命令追加

     2.文件写入

  3.文件同步  

posted @ 2020-01-03 21:00  速溶咖啡  阅读(94)  评论(0)    收藏  举报