redis的2种持久化方式:rdb和aof,对于rdb如果要备份直接调用save方法。如果redis只是作为缓存那么没有必要做持久化。这2中方式可以并存,redis启动默认首先加载aof文件,如果aof文件出错将不能启动,可以使用redis自动工具对文件修复。
- ################################ 快照 #################################
- #
- # Save the DB on disk:保存数据库到磁盘
- #
- # save <秒> <更新>
- #
- # 如果指定的秒数和数据库写操作次数都满足了就将数据库保存。
- #
- # 下面是保存操作的实例:
- # 900秒(15分钟)内至少1个key值改变(则进行数据库保存--持久化)
- # 300秒(5分钟)内至少10个key值改变(则进行数据库保存--持久化)
- # 60秒(1分钟)内至少10000个key值改变(则进行数据库保存--持久化)
- #
- # 注释:注释掉“save”这一行配置项就可以让保存数据库功能失效。
- #
- # 你也可以通过增加一个只有一个空字符串的配置项(如下面的实例)来去掉前面的“save”配置。
- #
- # save ""
- save 900 1
- save 300 10
- save 60 10000
- #在默认情况下,如果RDB快照持久化操作被激活(至少一个条件被激活)并且持久化操作失败,Redis则会停止接受更新操作。
- #这样会让用户了解到数据没有被正确的存储到磁盘上。否则没人会注意到这个问题,可能会造成灾难。
- #
- #如果后台存储(持久化)操作进程再次工作,Redis会自动允许更新操作。
- #
- #然而,如果你已经恰当的配置了对Redis服务器的监视和备份,你也许想关掉这项功能。
- #如此一来即使后台保存操作出错,redis也仍然可以继续像平常一样工作。
- stop-writes-on-bgsave-error yes
- #是否在导出.rdb数据库文件的时候采用LZF压缩字符串和对象?
- #默认情况下总是设置成‘yes’, 他看起来是一把双刃剑。
- #如果你想在存储的子进程中节省一些CPU就设置成'no',
- #但是这样如果你的kye/value是可压缩的,你的到处数据接就会很大。
- rdbcompression yes
- #从版本RDB版本5开始,一个CRC64的校验就被放在了文件末尾。
- #这会让格式更加耐攻击,但是当存储或者加载rbd文件的时候会有一个10%左右的性能下降,
- #所以,为了达到性能的最大化,你可以关掉这个配置项。
- #
- #没有校验的RDB文件会有一个0校验位,来告诉加载代码跳过校验检查。
- rdbchecksum yes
- # 导出数据库的文件名称
- dbfilename dump.rdb
- # 工作目录
- #
- # 导出的数据库会被写入这个目录,文件名就是上面'dbfilename'配置项指定的文件名。
- #
- # 只增的文件也会在这个目录创建(这句话没看明白)
- #
- # 注意你一定要在这个配置一个工作目录,而不是文件名称。
- dir /opt/redis-2.6.10/data
- ############################## APPEND ONLY MODE ###############################
- # 是否开启AOF,默认关闭(no)
- appendonly yes
- # 指定 AOF 文件名
- appendfilename appendonly.aof
- # Redis支持三种不同的刷写模式:
- # appendfsync always #每次收到写命令就立即强制写入磁盘,是最有保证的完全的持久化,但速度也是最慢的,一般不推荐使用。
- appendfsync everysec #每秒钟强制写入磁盘一次,在性能和持久化方面做了很好的折中,是受推荐的方式。
- # appendfsync no #完全依赖OS的写入,一般为30秒左右一次,性能最好但是持久化最没有保证,不被推荐。
- #在日志重写时,不进行命令追加操作,而只是将其放在缓冲区里,避免与命令的追加造成DISK IO上的冲突。
- #设置为yes表示rewrite期间对新写操作不fsync,暂时存在内存中,等rewrite完成后再写入,默认为no
- no-appendfsync-on-rewrite no
- #当前AOF文件大小是上次日志重写得到AOF文件大小的二倍时,自动启动新的日志重写过程。
- auto-aof-rewrite-percentage 100
- #当前AOF文件启动新的日志重写过程的最小值,避免刚刚启动Reids时由于文件尺寸较小导致频繁的重写。
- auto-aof-rewrite-min-size 64mb