Redis是一个内存数据库,数据都存储在了内存中,虽然内存读取数据的速度比较快,但是也很容易出现数据丢失的情况,所以Redis就提供了两种数据持久化的机制,RDB,也就是快照模式,还有一种AOF,也就是追加模式。
Redis的RDB和AOF机制很像我们之前学过的HDFS中的两个机制,一个就是Edits(日志),还有一个就是FSimage(快照),Edits的优点就是存储数据是完整数据,缺点就是我们的日志文件随着我们使用和操作越来越多,日志文件会越来越多,所以当我们在恢复数据的时候,花费的时间比较久,FSimage只会存储最后一次的数据,优点就是恢复数据快,其中AOF类似于Edits,RDB类似于FSimage。
RDB持久化就是在指定的时间间隔里面生成的数据拍摄快照,这个是默认的持久化机制,这个就是将数据以快照的方式写入到二进制文件中,默认名是dump.rdb,这种默认的存储方式虽然很快,但是会丢失数据,比如说我们的服务器突然宕机了,那两个时间间隔里的数据就有可能会丢失。
他还提供了三种触发机制:save bgsave 自动化
save:立马停止RedisServer对外的服务,直接就将内存中的数据保存到硬盘指定的位置,默认的存储位置就是命令执行的所在目录,就例如你在lib目录下运行了这个指令,那就将数据存储在了lib目录下,如果是在conf目录下运行了这个命令,那么这个数据就存储在了conf目录下,可以通过修