redis是一个内存数据库,数据保存在内存中,但是我们都知道内存的数据变化是很快的,也容易发生丢失。幸好Redis还为我们提供了持久化的机制,分别是RDB(Redis DataBase)和AOF(Append Only File)。
一、持久化流程
RDB工作原理
RDB默认是开启的,当设置config set save "900 1"表示如果有超过一个键发生了改变,则在900秒后会把数据存储到文件中;通过save/bgsave命令可以手动启动一次RDB存储,这两个命令的区别就是save命令使用的是主线程进行同步存储,会阻塞redis服务器。bgsave则是在后台开启一个子线程进行数据的存储。所以一般建议永远不要在生产环境使用save命令;bgsave是异步的,他不会阻塞主进程继续收集请求,他会通过fork()系统调用创建的一个子线程将数据存储在一个后缀为.rdb的文件中。
网友评论