1赞

2评论

0收藏

[NoSQL] Redis快照持久化和AOF持久化

数据库 数据库 发布于:2021-07-03 19:58 | 阅读数:653 | 评论:2

  redis为了内部数据的安全考虑,会把本身的数据以文件形式保存到硬盘中一份,在服务器重启之后会自动把硬盘的数据恢复到内存(redis)里,数据保存到硬盘的过程就叫做持久化。
  1.快照持久化(snap shotting)
  该持久化默认开启,一次性把redis中全部的数据保存存储在硬盘中,如果数据非常多(10-20G)就不适合频繁该持久化操作
  (1)快照持久化保留在本地硬盘的数据库备份文件:dump.rdb
  (2)快照持久化备份的频率,
save 900 1 #900秒内如果超过1个key被修改,就发起快照保存
save 300 10 #300秒超过10个key被修改,就发起快照保存
save 60 10000 #60秒超过10000个key被修改,就发起快照保存
  以上save的意思:
  数据修改的频率非常高,备份的频率也高
  数据修改的频率低,备份的频率也低
  2.AOF持久化(append only file)
  本质:把用户执行的每个“写”指令(添加、修改、删除)都备份到文件中,还原数据的时候就是执行具体写指令而已。
  开启AOF持久化,会清空redis内部数据
  redis.conf 文件修改
appendonly no
  改为:
appendonly yes
  同时可以修改备份文件的名字:默认是appendonly.aof
  备份频率配置:
apendfsync everysec // 每秒钟强制写入磁盘一次,在性能和持久化方面做了很好的这种,推荐
appendfsync always // 每次收到写命令就立即强制写入磁盘,最慢的,但是保证完全的持久化,不推荐使用
appendfsync no // 完全依赖OS,性能最好,持久化没保证
  3. 持久化命令
bgsave // 异步保存数据到磁盘(快照保存)
lastsave // 返回上次成功保存到磁盘的Unix时间戳
shutdown // 同步保存到服务器并关闭redis服务器
bgrewriteaof // 当日志文件过长时优化AOF日志文件存储
./redis-cli bgrewriteaof
./redis-cli bgsave
./redis-cli -h 127.0.0.1 -p 6379 bgsave #手动发起快照
关注下面的标签,发现更多相似文章

评论|共 2 个

CodeAE

发表于 2021-7-3 20:30:45 来自手机 | 显示全部楼层

很好

CodeAE

发表于 2023-3-31 14:53:07 | 显示全部楼层

不错