redis持久化生产配置

redis持久化生产配置

rdb

  • 因为rdb容易丢数据,而且频繁fork操作容易产生阻塞,因此要关闭rdb
  • 但rdb用于数据冷备和复制传输很方便,因此关闭rdb后可以使用crontab手工bgsave,每小时定时备份dump.rdb文件
  • 关闭rdb需要开启save "" 并注释其他save

redis.conf有关rdb的配置

save ""

#save 900 1
#save 300 10
#save 60 10000

aof

  • aof最多会丢2s的数据,因此建议开启
  • 配置appendonly yes为开启 默认不开启
  • 配置appendfsync everysec 为每秒刷一次磁盘
  • aof文件增大需要重写,重写会触发fork操作
  • 手工重写使用bgrewriteaof
  • 默认配置auto-aof-rewrite-min-size 64mb 默认64M重写,如果重写太频繁可以增大
  • 默认配置auto-aof-rewrite-percentage 100 默认100 可以不改
  • 一个实例不建议超过10G
  • AOF重写时会消耗大量硬盘IO,可以开启配置no-appendfsync-onrewrite yes,默认关闭。表示在AOF重写期间不做fsync操作。
  • 建议aof文件保存到ssd盘
  • 如果有多实例建议通过程序轮询aof重写

redis.conf有关aof的配置

appendonly yes
appendfilename "appendonly.aof"
appendfsync everysec
no-appendfsync-on-rewrite yes
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb
  • 监控info Persistence
127.0.0.1:6379> info Persistence
# Persistence
loading:0
rdb_changes_since_last_save:0
rdb_bgsave_in_progress:0
rdb_last_save_time:1553052787
rdb_last_bgsave_status:ok
rdb_last_bgsave_time_sec:0
rdb_current_bgsave_time_sec:-1
aof_enabled:0
aof_rewrite_in_progress:0
aof_rewrite_scheduled:0
aof_last_rewrite_time_sec:-1
aof_current_rewrite_time_sec:-1
aof_last_bgrewrite_status:ok
aof_last_write_status:ok

你可能感兴趣的:(redis持久化生产配置)