redis学习笔记五(持久化)

redis的2种持久化方式:rdb和aof,对于rdb如果要备份直接调用save方法。如果redis只是作为缓存那么没有必要做持久化。这2中方式可以并存,redis启动默认首先加载aof文件,如果aof文件出错将不能启动,可以使用redis自动工具对文件修复。




  1. ################################ 快照  #################################  
  2. #  
  3. # Save the DB on disk:保存数据库到磁盘  
  4. #  
  5. #   save <秒> <更新>  
  6. #  
  7. #   如果指定的秒数和数据库写操作次数都满足了就将数据库保存。  
  8. #  
  9. #   下面是保存操作的实例:  
  10. #   900秒(15分钟)内至少1个key值改变(则进行数据库保存--持久化)  
  11. #   300秒(5分钟)内至少10个key值改变(则进行数据库保存--持久化)  
  12. #   60秒(1分钟)内至少10000个key值改变(则进行数据库保存--持久化)  
  13. #  
  14. #   注释:注释掉“save”这一行配置项就可以让保存数据库功能失效。  
  15. #  
  16. #   你也可以通过增加一个只有一个空字符串的配置项(如下面的实例)来去掉前面的“save”配置。  
  17. #  
  18. #   save ""  
  19.   
  20. save 900 1  
  21. save 300 10  
  22. save 60 10000  
  23.   
  24. #在默认情况下,如果RDB快照持久化操作被激活(至少一个条件被激活)并且持久化操作失败,Redis则会停止接受更新操作。  
  25. #这样会让用户了解到数据没有被正确的存储到磁盘上。否则没人会注意到这个问题,可能会造成灾难。  
  26. #  
  27. #如果后台存储(持久化)操作进程再次工作,Redis会自动允许更新操作。  
  28. #  
  29. #然而,如果你已经恰当的配置了对Redis服务器的监视和备份,你也许想关掉这项功能。  
  30. #如此一来即使后台保存操作出错,redis也仍然可以继续像平常一样工作。  
  31. stop-writes-on-bgsave-error yes  
  32.   
  33. #是否在导出.rdb数据库文件的时候采用LZF压缩字符串和对象?  
  34. #默认情况下总是设置成‘yes’, 他看起来是一把双刃剑。  
  35. #如果你想在存储的子进程中节省一些CPU就设置成'no',  
  36. #但是这样如果你的kye/value是可压缩的,你的到处数据接就会很大。  
  37. rdbcompression yes  
  38.   
  39. #从版本RDB版本5开始,一个CRC64的校验就被放在了文件末尾。  
  40. #这会让格式更加耐攻击,但是当存储或者加载rbd文件的时候会有一个10%左右的性能下降,  
  41. #所以,为了达到性能的最大化,你可以关掉这个配置项。  
  42. #  
  43. #没有校验的RDB文件会有一个0校验位,来告诉加载代码跳过校验检查。  
  44. rdbchecksum yes  
  45.   
  46. # 导出数据库的文件名称  
  47. dbfilename dump.rdb  
  48.   
  49. # 工作目录  
  50. #  
  51. # 导出的数据库会被写入这个目录,文件名就是上面'dbfilename'配置项指定的文件名。  
  52.   
  53. # 只增的文件也会在这个目录创建(这句话没看明白)  
  54.   
  55. # 注意你一定要在这个配置一个工作目录,而不是文件名称。  
  56. dir /opt/redis-2.6.10/data  


  1. ############################## APPEND ONLY MODE ###############################  
  2. # 是否开启AOF,默认关闭(no)  
  3. appendonly yes  
  4.   
  5. # 指定 AOF 文件名  
  6. appendfilename appendonly.aof  
  7.   
  8. # Redis支持三种不同的刷写模式:  
  9. # appendfsync always #每次收到写命令就立即强制写入磁盘,是最有保证的完全的持久化,但速度也是最慢的,一般不推荐使用。  
  10. appendfsync everysec #每秒钟强制写入磁盘一次,在性能和持久化方面做了很好的折中,是受推荐的方式。  
  11. # appendfsync no     #完全依赖OS的写入,一般为30秒左右一次,性能最好但是持久化最没有保证,不被推荐。  
  12.   
  13. #在日志重写时,不进行命令追加操作,而只是将其放在缓冲区里,避免与命令的追加造成DISK IO上的冲突。  
  14. #设置为yes表示rewrite期间对新写操作不fsync,暂时存在内存中,等rewrite完成后再写入,默认为no  
  15. no-appendfsync-on-rewrite no   
  16.   
  17. #当前AOF文件大小是上次日志重写得到AOF文件大小的二倍时,自动启动新的日志重写过程。  
  18. auto-aof-rewrite-percentage 100  
  19.   
  20. #当前AOF文件启动新的日志重写过程的最小值,避免刚刚启动Reids时由于文件尺寸较小导致频繁的重写。  
  21. auto-aof-rewrite-min-size 64mb  

猜你喜欢

转载自blog.csdn.net/yuliantao/article/details/78747145
今日推荐