Redis数据持久化


redis是一个支持持久化的内存数据库,也就是说redis需要经常将内存中的数据同步到磁盘来保证持久化。

redis支持两种持久化方式,一种是 Snapshot(RDB)<二进制文件> 也是默认方式;另一种是Append only file(AOF)的方式。

RDB就是Snapshot快照存储,是默认的持久化方式。即按照一定的策略周期性的将数据保存到磁盘。对应产生的数据文件为dump.rdb,通过配置文件中的save参数来定义快照的周期。
redis.conf 默认的配置rdb策略:
# 设置redis进行数据库镜像的频率。
# 900秒(15分钟)内至少1个key值改变(则进行数据库保存--持久化)。 
# 300秒(5分钟)内至少10个key值改变(则进行数据库保存--持久化)。 
# 60秒(1分钟)内至少10000个key值改变(则进行数据库保存--持久化)。
save 900 1 
save 300 10 
save 60 10000
会存在一定数据丢失风险。

AOF(Append Only File)<二进制文件>比RDB方式有更好的持久化性。由于在使用AOF持久化方式时,Redis会将每一个收到的写命令都通过Write函数追加到文件最后,类似于MySQL的binlog。当Redis重启是会通过重新执行文件中保存的写命令来在内存中重建整个数据库的内容。 redis.conf 默认的配置aof策略:
# 是否开启AOF,默认关闭(no) 
appendonly yes 
# 指定 AOF 文件名 
appendfilename appendonly.aof 
#每秒钟强制写入磁盘一次,在性能和持久化方面做了很好的折中,是受推荐的方式。
appendfsync everysec

你可能感兴趣的:(系统—linux)