RDB,redisdb
时点与时点之间的窗口数据容易丢失,恢复速度较快
save 阻塞
bgsave fork创建子进程
配置文件:
snapshotting下,save实际上触发bgsave
save 900 1
save 300 10
save 60 10000
父进程中60秒达到10000,进行fork存储。没有达到10000,触发300秒,达到10进行存储。没有达到10,触发900秒,存储1
关闭save “”
检查rdb文件
redis-check-rdb dump.rdb
AOF,Append Only File
丢失数据相对较少,同时开启rdb和aof,在恢复时只会通过aof恢复,因为aof的数据比较全。
弊端体量无限变大,4.0以前通过合并重复命令,删除抵消命令策略,4.0以后在其基础上,将老的数据通过RDB存到AOF中,新的指令append到file中. BGREWRITEAOF
写操作会发生IO,导致变慢,有三个级别
append only mode
默认关闭
appendonly no,开启改成yes
appendfsync always 每执行一次,内核flush一次,不管buffer有没有满,写入磁盘。顶多丢失一条
appendfsync everysec 默认。每秒执行一次flush。在always和no之间
appendfsync no