Redis提供了多种不同级别的持久化方式:
RDB
快照是默认的持久化方式。每次快照是将内存数据完整写入磁盘。数据量大的时候,会有大量的I/O操作,影响性能。
AOF
这种方式是每收到一个写命令都通过write函数追加到文件中(appendonly.aof)。redis重启时会通过重新执行文件中的写命令,在内存中重建整个数据库。
AOF方式的写入时机:
- appendfsync always //收到命令立即写入,最慢,但是最完整
- appendfsync everysec //每秒写入,折中的方案
- appendfsync no //完全依赖操作系统,性能最好,但持久化没保证
其他
redis还可以同时使用RDB持久化和AOF持久化。在这种情况下,当redis重启时,会优先使用AOF文件来还原数据集。因为AOF文件保存的数据集通常比RDB保存的数据集要完整。
网友评论