谈谈Redis持久化(上)——RDB(Redis DataBase)

Redis支持RDB和AOF两种持久化机制,持久化功能有效地避免因进程退出造成的数据丢失问题,当下次重启时利用之前持久化的文件即可实现数据恢复,理解掌握持久化机制对于Redis运维非常重要

RDB

RDB持久化是把当前进程数据生成快照保存到硬盘的过程,触发RDB持久化过程分为手动触发自动触发

RDB手动触发机制

  • save命令:阻塞当前Redis服务器直到RDB过程完成为止,对于内存比较大的实例会造成长时间阻塞,线上环境不建议使用

  • bgsave命令:Redis进程执行fork操作创建子进程,RDB持久化过程由子进程负责,完成后自动结束。阻塞只发生在fork阶段,一般时间很短

  • 显然bgsave命令是针对save阻塞问题做的优化。因此Redis内部所有的涉及RDB的操作都采用bgsave的方式,而save命令已经废弃

RDB自动触发机制

除了执行命令手动触发之外,Redis内部还存在自动触发RDB的持久化机制,例如以下场景

    你可能感兴趣的:(Redis,缓存,Redis,RDB,持久化)