Redis数据库备份:dump存储(redisdump)
和aof持久化
Redis 是一个开源的,多功能的键值(Key-Value)存储数据库,广泛用于缓存实时数据,如购物篮,CPU,统计或高级搜索索引。为了确保 Redis 数据库完整性,它提供两个强大的持久化功能:导出和AOF持久化(Append Only File),两者都可以在灾难或重新启动时保留数据。
**1.dump存储**
dump存储是一项基础的Redis持久化实用工具,它可以将整个 Redis 数据库树以RDB格式存储到文件中。把dump存储与定时任务结合起来,可以定期存储缓存数据,且不会产生性能问题。
dump存储使用 的redis-cli指令,如下:
`redis-cli save`
该命令在redis.conf中可以设置自动将数据备份到磁盘:
save 900 1 #分钟
save 300 10 #每10分钟存储 save 60 10000 #每10000秒存储
**2.AOF持久化**
AOF持久化是基于文件的持久化机制,每当有一个write命令执行或数据库正在后台进行save操作时,都会在AOF文件中写入一个日志条目来记录这一变更(append-only file)。 因此,在每次 Redis 重新启动时 AOF将应用所有变更,以确保 Redis 持久记录已提交内存数据库中的每个操作。
AOF持久化需要在配置文件中确保 appendonly 设置是开启的,例如:
`appendonly yes`
而且,与dump存储一样,AOF也可以使用如下命令调用:
`redis-cli bgrewriteaof`
不过,AOF会涉及空间问题,因此它也可以在redis.conf中配置,以避免文件过大:
appendfsync always # 每发出指令就进行同步
appendfsync everysec # 每 1 秒同步一次 appendfsync no # 从不同步
总之,两种持久化技术都有助于将Redis数据库备份到磁盘,以便在灾难时能顺利恢复,而且dump存储和AOF持久化两者都可以实现此目的。