Redis的快照持久化-Redis学习笔记三

 Redis持久化功能

  redis为了内部数据的安全考虑,会把本身的数据文件形式保存到硬盘中一份,在服务器重启之后会自动把硬盘的数据恢复到内存(redis)的里边。

数据保存到硬盘的过程就称为“持久化”效果。

1. snap shotting快照持久化

该持久化默认开启,一次性redis全部的数据保存一份存储在硬盘中,如果数据非常多(10-20G)不适合频繁进行该持久化操作。

下方是快照持久化在本地硬盘保留的数据备份文件(redis自动生成):

Redis的快照持久化-Redis学习笔记三

查看快照持久化的备份频率(打开redis.conf):

  1. ################################ SNAPSHOTTING #################################
  2. #
  3. # Save the DB on disk:
  4. #
  5. # save <seconds> <changes>
  6. #
  7. # Will save the DB if both the given number of seconds and the given
  8. # number of write operations against the DB occurred.
  9. #
  10. # In the example below the behaviour will be to save:
  11. # after 900 sec (15 min) if at least 1 key changed
  12. # after 300 sec (5 min) if at least 10 keys changed
  13. # after 60 sec if at least 10000 keys changed
  14. #
  15. # Note: you can disable saving at all commenting all the "save" lines.
  16. #
  17. # It is also possible to remove all the previously configured save
  18. # points by adding a save directive with a single empty string argument
  19. # like in the following example:
  20. #
  21. # save ""
  22. save 900 1
  23. save 300 10
  24. save 60 10000

save 900 1          #900 秒内如果超过 个 key 被修改,则发起快照保存

save 300 10        #300秒超过10key被修改,发起快照

save 60 10000    #60秒超过10000key被修改,发起快照


以上三个save的理解:

数据修改的频率非常高,备份的频率也高

数据修改的频率低,备份的频率也低


查看快照持久化文件的名字和存储位置(打开redis.conf):

  1. # The filename where to dump the DB
  2. dbfilename dump.rdb
  3. # The working directory.
  4. #
  5. # The DB will be written inside this directory, with the filename specified
  6. # above using the 'dbfilename' configuration directive.
  7. #
  8. # The Append Only File will also be created inside this directory.
  9. #
  10. # Note that you must specify a directory here, not a file name.
  11. dir ./

快照持久化 和 精细持久化  可以尽最大程度保证数据的安全:

Redis的快照持久化-Redis学习笔记三

2、手动发起快照持久化

Redis的快照持久化-Redis学习笔记三

手动发起快照持久化

Redis的快照持久化-Redis学习笔记三