redis渐入佳境(09) 数据持久化

redis是一个内存数据库,但是也有持久化的功能。redis持久化主要有两种方式,一个是数据库快照,一个aof方式。

RDB 持久化可以在指定的时间间隔内生成数据集的时间点快照(point-in-time snapshot)。

  • AOF 持久化记录服务器执行的所有写操作命令,并在服务器启动时,通过重新执行这些命令来还原数据集。 AOF 文件中的命令全部以 Redis 协议的格式来保存,新命令会被追加到文件的末尾。 Redis 还可以在后台对 AOF 文件进行重写(rewrite),使得 AOF 文件的体积不会超出保存数据集状态所需的实际大小。
  • RDB方式就是快照方式:
  • 配置方式如下:
  • 在redis.conf文件中有如下配置:
  • #   Note: you can disable saving at all commenting all the "save" lines.
  • 900s内有1个key更新就执行一次快照
  • save 900 1  
    
  • 300s内有10个key更新就执行一次快照
  • save 300 10
    
  • 60s内有10000个key更新就执行一次快照
  • save 60 10000
  • 这样数据库就会按照策略进行快照备份,rdb的方式的优点是特别好恢复数据且能保证redis的高性能运行。但是有备份间隙,容易丢数据。
  • aof就是记录操作日志的方式:
  • 具体配置如下:
  • 在redis.conf文件中有如下配置:
  • # log file in background when it gets too b
  • appendonly yes   #设置成yes即开启了aof方式。
  •   aof还有如下配置:
  • #每一个写命令都会存入到aof文件中,最能保证数据的安全,但是效率较低
    # appendfsync always
  • #每一秒都会记录一下写命令,效率和安全做了较好的折中
    appendfsync everysec
  • #完全交给操作系统,不靠谱
    # appendfsync no

猜你喜欢

转载自xuelianbobo.iteye.com/blog/2089494