说明
- Redis-10-Redis持久化
- 包含不同范围的持久性选项说明、持久化数据备份步骤、数据备份文件损坏修复、相关配置文件
- 官方文档:https://redis.io/documentation
- Redis命令参考:http://redisdoc.com/
核心概念
》什么是Redis持久化呢?
- 简单说就是将Redis数据存入磁盘(好吧这是废话)
》Redis 提供了不同范围的持久性选项:
- RDB(Redis 数据库):RDB 持久性以指定的时间间隔执行数据集的时间点快照。
- 该方式数据库文件:dump.rdb
- Redis定时自动备份数据集快照文件,这个频率可以在配置文件中修改。底层实现使用了Linux的“写时复制技术”。
- Redis重启以后会将dump.rdb中的数据重新读取出来
- 缺点:最后一次备份以后到宕机这段时间内的数据是丢失的
- AOF(Append Only File):AOF 持久化记录服务器接收到的每个写操作,在服务器启动时再次播放,重建原始数据集。命令使用与 Redis 协议本身相同的格式以仅附加方式记录。当日志变得太大时,Redis 能够在后台重写日志。
- 该方式数据库文件:appendonly.aof
- 以日志的形式记录每一个写操作(增量保存),只追加文件但不改文件
- Redis重启以后会将 中的数据重新读取出来
- 无持久性:如果您愿意,您可以完全禁用持久性,如果您希望您的数据只要服务器正在运行就存在。
- RDB + AOF:可以在同一个实例中结合 AOF 和 RDB。请注意,在这种情况下,当 Redis 重新启动时,AOF 文件将用于重建原始数据集,因为它保证是最完整的。
- 也就是说,两者都开启的情况下,以AOF为准
》Redis持久化数据备份步骤
- 一般都是定时备份数据库持久化文件(dump.rdb或appendonly.aof)
》数据备份文件损坏修复
[admin@192 ~]$ /usr/local/redis/bin/redis-check-rdb ./dump.rdb
[admin@192 ~]$ /usr/local/redis/bin/redis-check-aof ./appendonly.aof
》相关配置文件
- RDB相关配置项(redis.conf)
# 数据库持久化存储频率,格式:save <秒> <写操作次数> # 比如以下第一条规则:每900秒有至少1次写操作时保存一次,后边的同理 save 900 1 save 300 10 save 60 10000 # 不推荐使用sava,更推荐使用bgsave模式 # 持久化数据库文件名 dbfilename dump.rdb # 数据库持久化文件存储路径 dir ./ # 当Redis无法写入磁盘是是否关闭Redis写操作,推荐yes stop-writes-on-bgsave-error yes # 数据库文件是否进行压缩 rdbcompression yes # 检查数据完整性,推荐yes,如果关闭了那么如果有不完整的数据也是无效数据。开启会损耗10%左右性能,希望更高性能可以关闭 rdbchecksum yes
- AOF相关配置项(redis.conf)
# 是否开启AOF,默认关闭 appendonly no # AOF模式数据库文件名 appendfilename "appendonly.aof" # AOF同步频率:总是同步、每秒同步、从不主动同步(由操作系统同步) # appendfsync always appendfsync everysec # appendfsync no
版权声明:本文为csdn_yasin原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。