Redis系列四:redis持久化
redis支持RDB和AOF两种持久化机制,持久化可以避免因进程退出而造成数据丢失。 两种持久化可以单独使用其中一种,但更多情况下是将二者结合使用。 一、RDB持久化 RDB持久化把当前进程数据生成快照(.rdb)文件保存到硬盘的过程,有手动触发和自动触发。 redis会在以下几种情况下对数据进行快照。 a)根据配置规则进行自动快照; b)用户执行save或bgsave命令; c)执行flushall命令; d)执行复制(replication)时; 1、根据配置规则进行自动快照 允许用户自定义快照条件,当符合快照条件时,redis会自动执行快照操作。进行快照的题哦啊键可以由用户在配置文件中自定义,由两个参数构成:时间窗口M和改动的键的个数N。每当时间M内被更改的键的个数大于N时,即符合自动快照条件。 如redis安装目录中包含的样例配置文件中预置的3个条件: save 900 1 save 300 10 save 60 10000 每条快照条件占一行,并且以save参数开头,同时可以存在多个条件,条件之间是“或”的关系。上例中,save 900 1的意思是在15分钟(900秒)内有一个或一个以上的键被更改则进行快照,同理,save 300 10表示子啊300秒内至少有10键被修改进行快照。 2、手动触发有save和bgsave两命令 除redis自动进行快照外,服务重启