Redis的高性能是因为它把所有的数据都存储在内存中。为了保证Redis重启后数据不丢失,需要将数据从内存同步到硬盘。过程就是坚持。Redis支持两种持久化方式,一种是RDB方式,一种是AOF方式。它们中的一种可以单独使用,也可以两者结合使用。RDB持久化机制RDB持久化是指在指定的时间间隔内将内存中的数据集快照写入磁盘。该方法是将内存中的数据作为快照写入二进制文件,默认文件名为dump.rdb。该方法默认开启,无需配置。AOF持久化机制AOF持久化机制会将每一个接收到的写命令通过write函数追加到文件中。默认文件名为appendonly.aof。该方法默认不启用,需要使用时进行配置。RDB持久化机制优缺点RDB是一个非常紧凑(compact)的文件,它保存了Redis在某个时间点的数据集。这种文件非常适合备份RDB在恢复大数据集时比AOF快(因为它的文件比AOF小)DB性能比AOF好缺点RDB持久化不够及时,可能会丢失数据。RDB持久化时如果文件过大,可能会导致服务器阻塞。停止客户端请求AOF持久化机制。优缺点:优点AOF持久化更持久(可以每秒或者每次操作保存一次)AOF文件有序的存储了所有对数据库执行的写操作。这些写操作都是以Redis协议的格式保存的,所以AOF文件的内容非常容易让人理解,也非常容易分析(解析)文件。AOF是增量操作。同样的数据集,AOF文件的体积通常比RDB文件的体积要大。根据使用的fsync策略,AOF的速度可能会比RDB慢。选择:如果你非常在意你的数据,但仍然可以承受几分钟内的数据丢失,选择RDB持久化。如果对数据完整性要求比较高,选择AOF
