redis持久化

Posted 72 months ago redis nosql linux 持久化

redis rdb模式保存

save  #io保存

bgsave #异步保存

#自动保存
save  5     1       #Redis服务器在5秒之内,对数据库进行了至少1次修改,就执行bgsave命令
save  300   10      #Redis服务器在300秒之内,对数据库进行了至少10次修改,就执行bgsave命令
save  60    10000   #Redis服务器在60秒之内,对数据库进行了至少10000次修改,就执行bgsave命令

###  redis AOF持久化配置

```bash
appendonly yes
appendfsync=always#everysec#no

appendfsync设置为always时,服务器在每个事件循环中将aof_buf缓冲区中的所有内容写入并同步到AOF文件。从效率来说,是三个选项值当中最慢的一个,但从安全性来说,always是最安全的,因为即使出现故障停机,AOF持久化也只会丢失一个事件循环中所产生的命令数据。

appendfsync设置为everysec时,服务器在每个事件循环中将aof_buf缓冲区中的所有内容写入到AOF文件,并且每隔一秒将再次对AOF文件进行同步,并且这个同步操作是由一个线程专门负责执行的。从效率上来说,everysec模式足够快,并且就算出现故障停机,数据库也只丢失一秒钟的命令数据。

appendfsync设置为no时,服务器在每个事件循环中,将aof_buf缓冲区中的所有内容写入到AOF文件,但并不对AOF文件进行同步,何时同步由操作系统决定。从效率上来说,与everysec模式相当。AOF文件写入速度是最快的,但是单次同步时长是三种模式中最长的,当出现故障停机时,服务器将丢失上次同步AOF文件之后的所有写命令数据。

点击评论