redis持久化永久存储配置
redis持久化存储有两种方式:
RDB (Redis DataBase)生成dump.rdb文件,重启时读取这个文件恢复数据。
在配置文件中
save 900 1
save 300 10
save 60 10000
默认开启, 900秒内有1个更改,300秒内有10个更改以及60秒内有10000个更改,则将内存中的数据快照写入磁盘。
手动写入:
save(阻塞, 只管保存快照,其他的等待)
bgsave (异步)命令
AOF (Append Only File):采用日志的形式来记录每个写操作,并追加到文件中appendonly.aof
在配置文件中
#appendfsync always
appendfsync everysec
#appendfsync no
always:同步持久化,每次发生数据变化会立刻写入到磁盘中。性能较差当数据完整性比较好(慢,安全)
everysec:出厂默认推荐,每秒异步记录一次(默认值)
no:不同步
AOF的工作原理是将写操作追加到文件中,文件的冗余内容会越来越多。所以聪明的 Redis 新增了重写机制。当AOF文件的大小超过所设定的阈值时,Redis就会对AOF文件的内容压缩
重写配置
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb
当AOF文件大小是上次rewrite后大小的一倍且文件大于64M时触发。一般都设置为3G。