redis持久化
2016-03-26 07:09
591 查看
Redis的持久化有2种方式 1 快照(rdb快照持久化) 2 日志(aof日志持久化)
Rdb工作原理:每隔N分钟或N次写操作后从内存dump数据形成Rdb文件,压缩放在备份目录。
Rdb快照的配置选项(配置redis.conf文件)
save 900 1 // 900秒内有1条写入,则产生快照
save 300 1000 // 如果300秒内有1000次写入,则产生快照
save 60 10000 // 如果60秒内有10000次写入,则产生快照
(这3个选项都屏蔽,则rdb禁用)
stop-writes-on-bgsave-error yes // 后台备份进程出错时,主进程停不停止写入?
rdbcompression yes // 导出的rdb文件是否压缩
Rdbchecksum yes // 导入rbd恢复时数据时,要不要检验rdb的完整性
dbfilename dump.rdb //导出来的rdb文件名
dir ./ //rdb的放置路径
rdb的缺陷:
在两个保存点之间断电,将会丢失部分数据
出于对持久化更精细的要求,redis增添了aof方式:append only file
aof工作原理:执行的每一条命令将会写入到文本文件中
aof配置:
appendonly no # 是否打开 aof日志功能
appendfsync always # 每1个命令,都立即同步到aof. 安全,速度慢
appendfsync everysec # 折衷方案,每秒写1次
appendfsync no # 写入工作交给操作系统,由操作系统判断缓冲区大小,统一写入到aof. 同步频率低,速度快,
no-appendfsync-on-rewrite yes: # 正在导出rdb快照的过程中,要不要停止同步aof
auto-aof-rewrite-percentage 100 #aof文件大小比起上次重写时的大小, 增长率100%时,重写
auto-aof-rewrite-min-size 64mb #aof文件至少超过64M时重写
问:在dump rdb过程中,aof如果停止同步,会不会丢失?
答: 不会,所有的操作缓存在内存的队列里, dump完成后,统一操作.
问: aof重写是指什么?
答: aof重写是指把内存中的数据,逆化成命令,写入到.aof日志里.
以解决 aof日志过大的问题.
问:如果rdb文件,和aof文件都存在,优先用谁来恢复数据?
答: aof
问: 2种是否可以同时用?
答: 可以,而且推荐这么做
问:恢复时rdb和aof哪个恢复的快
答: rdb快,因为其是数据的内存映射,直接载入到内存,而aof是命令,需要逐条执行
Rdb工作原理:每隔N分钟或N次写操作后从内存dump数据形成Rdb文件,压缩放在备份目录。
Rdb快照的配置选项(配置redis.conf文件)
save 900 1 // 900秒内有1条写入,则产生快照
save 300 1000 // 如果300秒内有1000次写入,则产生快照
save 60 10000 // 如果60秒内有10000次写入,则产生快照
(这3个选项都屏蔽,则rdb禁用)
stop-writes-on-bgsave-error yes // 后台备份进程出错时,主进程停不停止写入?
rdbcompression yes // 导出的rdb文件是否压缩
Rdbchecksum yes // 导入rbd恢复时数据时,要不要检验rdb的完整性
dbfilename dump.rdb //导出来的rdb文件名
dir ./ //rdb的放置路径
rdb的缺陷:
在两个保存点之间断电,将会丢失部分数据
出于对持久化更精细的要求,redis增添了aof方式:append only file
aof工作原理:执行的每一条命令将会写入到文本文件中
aof配置:
appendonly no # 是否打开 aof日志功能
appendfsync always # 每1个命令,都立即同步到aof. 安全,速度慢
appendfsync everysec # 折衷方案,每秒写1次
appendfsync no # 写入工作交给操作系统,由操作系统判断缓冲区大小,统一写入到aof. 同步频率低,速度快,
no-appendfsync-on-rewrite yes: # 正在导出rdb快照的过程中,要不要停止同步aof
auto-aof-rewrite-percentage 100 #aof文件大小比起上次重写时的大小, 增长率100%时,重写
auto-aof-rewrite-min-size 64mb #aof文件至少超过64M时重写
问:在dump rdb过程中,aof如果停止同步,会不会丢失?
答: 不会,所有的操作缓存在内存的队列里, dump完成后,统一操作.
问: aof重写是指什么?
答: aof重写是指把内存中的数据,逆化成命令,写入到.aof日志里.
以解决 aof日志过大的问题.
问:如果rdb文件,和aof文件都存在,优先用谁来恢复数据?
答: aof
问: 2种是否可以同时用?
答: 可以,而且推荐这么做
问:恢复时rdb和aof哪个恢复的快
答: rdb快,因为其是数据的内存映射,直接载入到内存,而aof是命令,需要逐条执行
相关文章推荐
- redisi配置安装
- Linux 安装php-redis扩展
- 使用Redis的理由
- 使用Redis的理由
- 在windows上部署使用Redis
- redis主从
- Mac OSX 安装redis
- Redis高可用方案之Sentinel原理解析
- .Net使用Redis详解之ServiceStack.Redis(七)
- Redis系列之key操作命令与Redis中的事务详解(六)
- Redis 3.0 cluster 集群环境搭建
- Redis-sentinel哨兵模式集群方案配置
- C#客户端Redis服务器的分布式缓存
- Redis 学习 ---- 10.RDB持久化
- linux下安装配置redis服务
- redis持久化
- Redis Ubnutu安装
- Python 操作Redis
- jedisPool.getResource()方法长时间无响应并且不报错
- Redis持久化————AOF与RDB模式