redis是一个KV值存储系统,为了保证性能,数据保存在内存中;但redis也会周期性的把数据保存在磁盘中或者把操作纪录到文件中,保证数据持续化
数据持续化策略分2中:rdb(半持久化), aof(全持久化)
rdb:快照形式周期性的把内存中数据保存到dump.rdb文件中
快照时间通过配置文件控制
save 900 1 900S有1个可以变化,保存数据
save 300 10
sava 60 10000
定时保存,当服务器挂了,会有部分数据丢失;而且数据量很的大的时候,写文件会引起大量IO操作,影响性能
aof(append-only):每一次写命令都通过写操作保存到appendonly.aof中
大量写操作会造成.aof文件很大
B执行GREWRITEAOF命令会把内存中最短序列保存到磁盘,缩小AOF文件大小
写文件都是采用copy-on-write方式,拷贝内存,所有系统内存要大爷2倍redis内存