Redis 持久化之RDB和AOF

redis是一个内存数据库,当redis服务器重启,数据会丢失,我们可以将redis内存中的数据库持久保存到硬盘的文件中。

持久化的机制:

RDB方式

         RDB默认方式,不需要进行配置,默认就使用这个机制,在一定的间隔时间中,检测key的变化情况,然后持久化数据。
                 怎么使用这个默认的方式:

               编辑redis.windows.conf的配置文件:

                 save 900 1:after 900 sec (15 min) if at least 1 key changed
                        save 300 10:after 300 sec (5 min) if at least 10 keys changed
                        save 60  10000:after 60 sec if at least 10000 keys changed

                当我们修改为 save 60 2:在60秒至少修改2个key就会持久化一次

               我们不再是简单直接打开redis-server.exe,需要通过cmd打开

Redis 持久化之RDB和AOF

再打开redis-cli.exe,执行存储:

Redis 持久化之RDB和AOF

在文件中就可以看到这个文件.rdb,再次打开刚才的数据可以再次访问到

Redis 持久化之RDB和AOF

Redis 持久化之RDB和AOF

优点: 

适合大规模的数据恢复。
       如果业务对数据完整性和一致性要求不高,RDB是很好的选择 

缺点:

数据的完整性和一致性不高,因为RDB可能在最后一次备份时宕机了

AOF方式

AOF:日志记录的方式,可以记录每一条命令的操作,可以每一次命令操作后,持久化数据,就是和MySQL一样,一写就会保存在文件中。

 Redis 默认不开启。它的出现是为了弥补RDB的不足,所以它采用日志的形式来记录每个写操作,并追加到文件中。

怎么使用这个AOF的方式

     编辑redis.windows.conf的配置文件:

     appendonly no -->appendonly yes(设置为yes就开启AOF)
             # appendfsync always:每一次操作都进行持久化
            appendfsync everysec:每隔一秒进行一次持久化
            # appendfsync no    :不进行持久化

    我们不再是简单直接打开redis-server.exe,需要通过cmd打开

Redis 持久化之RDB和AOF

在文件中就可以看到这个文件

Redis 持久化之RDB和AOF

Redis 持久化之RDB和AOF

优点:数据的完整性和一致性更高 

缺点:因为AOF记录的内容多,文件会越来越大,数据恢复也会越来越慢