redis的rdb快照持久化
2016-05-01 18:58
501 查看
rdb工作原理:
每隔N分钟或者N次写操作以后,从内存dump数据形rdb文件,压缩放在备份的目录下面。
配置rdb的配置,在redis.conf配置
测试rdb的功能:
1为了测试简单
改为
save 900 1
save 300 10
save 60 100
1分钟执行100条命令,就会生成rdb文件
2在执行测试命令之前,先往redis设置一个key-value对
set site www.baidu.com
3用redis自带的命令来测试,执行120条命令
4 执行完毕以后会发现在当前目录下面生成rdb文件。
5 设置第二个键值对set name wangli
6重启redis,连接客户端,会发现site的键值对在redis中,但是name的键值对消失了,这是因为在重启的时候,会自动导入rdb文件到redis中,由于1分钟执行100次才会生成rdb文件,所以在执行测试命令之前 设置的site键值对,已经生成在rdb文件中,可是后来设置的name的键值对仅仅在120次命令以后才设置,(在100次的时候会生成一次rdb文件,剩下的20次还不够资格再一次生成rdb文件)还没有到导入rdb的条件,所以rdb里面没有这个键值对。图如下
7 rdb持久化的优缺点:
优点:由于是一整块快照,恢复速度非常快。
缺点:在两个保存点之间,断电会丢失n分钟数据,出于对持久化更精细的需求,redis推出了aof方式持久化。
RDB最重要的两个过程是rdbSave和rdbLoad
触发rdbSave过程,主要有4种方式:
1. SAVE命令
2. BGSAVE命令
3. master接收到slave发来的sync命令
4. 定时save(配置文件中制定)
第一种情况,Redis保存RDB文件是在主进程中进行,所以在这其间,Redis无法响应客户端请求(再次强调:Redis是单线程Server);第二种情况,Redis fork出一个子进程,然后在子进程中进行rdbSave,因此也就不会阻塞主进程对客户端请求的处理;第三种情况和第四种情况同第二种情况,也是在子进程中进行;
触发rdbLoad过程,主要有两种方式:
1. Redis启动时候的初始化;
2. slave接收到master发来的RDB文件;
每隔N分钟或者N次写操作以后,从内存dump数据形rdb文件,压缩放在备份的目录下面。
配置rdb的配置,在redis.conf配置
测试rdb的功能:
1为了测试简单
改为
save 900 1
save 300 10
save 60 100
1分钟执行100条命令,就会生成rdb文件
2在执行测试命令之前,先往redis设置一个key-value对
set site www.baidu.com
3用redis自带的命令来测试,执行120条命令
4 执行完毕以后会发现在当前目录下面生成rdb文件。
5 设置第二个键值对set name wangli
6重启redis,连接客户端,会发现site的键值对在redis中,但是name的键值对消失了,这是因为在重启的时候,会自动导入rdb文件到redis中,由于1分钟执行100次才会生成rdb文件,所以在执行测试命令之前 设置的site键值对,已经生成在rdb文件中,可是后来设置的name的键值对仅仅在120次命令以后才设置,(在100次的时候会生成一次rdb文件,剩下的20次还不够资格再一次生成rdb文件)还没有到导入rdb的条件,所以rdb里面没有这个键值对。图如下
7 rdb持久化的优缺点:
优点:由于是一整块快照,恢复速度非常快。
缺点:在两个保存点之间,断电会丢失n分钟数据,出于对持久化更精细的需求,redis推出了aof方式持久化。
RDB最重要的两个过程是rdbSave和rdbLoad
触发rdbSave过程,主要有4种方式:
1. SAVE命令
2. BGSAVE命令
3. master接收到slave发来的sync命令
4. 定时save(配置文件中制定)
第一种情况,Redis保存RDB文件是在主进程中进行,所以在这其间,Redis无法响应客户端请求(再次强调:Redis是单线程Server);第二种情况,Redis fork出一个子进程,然后在子进程中进行rdbSave,因此也就不会阻塞主进程对客户端请求的处理;第三种情况和第四种情况同第二种情况,也是在子进程中进行;
触发rdbLoad过程,主要有两种方式:
1. Redis启动时候的初始化;
2. slave接收到master发来的RDB文件;
相关文章推荐
- BitMap算法应用:Redis队列滤重优化
- redis在windows下安装和PHP中使用
- redis安装
- redis持久化RDB和AOF
- Redis "MISCONF Redis is configured to save RDB snapshots, but is currently not able to persist on disk"问题的解决
- (转)国内外三个不同领域巨头分享的Redis实战经验及使用场景
- Redis几个认识误区
- 利用redis做频率限制第一篇
- Tomcat集群+Nginx+Redis服务搭建
- Redis源码解析:17Resis主从复制之主节点的部分重同步流程及其他
- redis数据类型
- NoSQL之Redis(五)--- Redis测试以及其与Spring的集成
- redis安装
- Dubbo-redis3解决负载均衡Session共享
- 常用 redis 命令(for php)
- hadoop正式学习之redis---redis优化
- 用Redis bitmap统计活跃用户、留存
- 用Redis bitmap统计活跃用户、留存
- 虚拟内存的使用--Redis学习笔记九
- 3.Python操作Redis:字符串(String)