既然是数据库,那就一定有数据备份方式了,而且 Redis 是内存形式的数据库,更需要数据备份了,要不然断电数据就全都丢失了。
Redis 数据备份有两种方式:
- RDB(数据快照)
- AOF(记录操作日志)
第一种是每隔一定的操作之后就进行一次数据备份,比如十分钟内进行了1000次写操作,就执行一次数据库备份,生成快照存储在本地。那 Redis 如何在一个持续写入的数据库中生成快照呢?Redis 内部借助了 fork 命令,copy on write 机制,在生成快照时,将当前进程 fork 出一个子进程,如何在这个子进程中循环遍历所有的数据,将数据写成 RDB 文件。
可以通过