redis持久化选项
Redis SAVE 命令用于创建当前数据库的备份。
该命令将在 redis 安装目录中创建dump.rdb文件。创建 redis 备份文件也可以使用命令 BGSAVE,创建一个快照。如果用户设置了save配置选项,比如save 60 10000,那么从redis最近一次创建快照之后开始算起,当60秒之内有10000写入自个条件被满足时,redis就会自动触发bgsave命令。如果设置了多个save选项,那么任意一个满足时都会被触发。
如果需要恢复数据,只需将备份文件 (dump.rdb) 移动到 redis 安装目录并启动服务即可。获取 redis 目录可以使用 CONFIG 命令,如下所示:
redis 127.0.0.1:6379> CONFIG GET dir
1) "dir"
2) "/usr/local/redis/bin"
Redis AOF持久化
aof持久化会将被执行的命令写到aof文件的末尾,以此来记录数据发生的变化。因此,redis只要从头到尾执行一遍aof文件包含的所以命令,就可以恢复aof文件所记录的数据集。可以通过设置配置文件的applyonly yes 配置选项来打开。
appendfsync 选项:
- always 每个redis写命令都要同步写入到硬盘,严重减低速度
- everysec 每秒执行一次同步
- no 让操作系统决定和时该同步
BGREWRITEAOF命令可以移除AOF文件中的冗余命令来重写AOF文件
Redis 复制
如果用户在启动redis的时候,指定了一个包含slaveof host port选项的配置文件,那么redis服务器根据该选项给定的ip地址和端口来链接主服务器。对于一个正在运行的redis,用户可以通过发送slaveof no one命令来让服务器终止复制操作,不再接受主服务器的数据更新,也可以通过slaveof host post 命令来让服务器开始复制一个新的主服务器。