码迷,mamicode.com
首页 > 数据库 > 详细

Redis之--rdb持久化

时间:2019-06-17 21:55:24      阅读:137      评论:0      收藏:0      [点我收藏+]

标签:目录   设定   redis配置   导入   检测   ref   -o   sum   错误   

持久化:通俗讲,下次开机还有数据,断电后不会丢失数据,存放于磁盘。

Redis:rdb快照持久化
每隔N分钟或N次写操作后,从内存dump数据形成RDB文件。压缩,放在备份目录。

参数详解:
从下往上看
save 900 1 #900秒内有1个key的变化,
save 300 10 #300秒内有10个key的变化,
save 60 10000 #60秒内有10000次写入,应该保存
stop-writes-on-bgsave-error yes #后台存储错误停止写
redis server主进程在导出的时候,客户端请求,无法回馈。在新版本的redis中,派生出一个子进程专门导出进程。如果导出过程中发现磁盘不够了,但是进程还在工作。势必会出现数据不一致。这里就有参数出现,如果rdb导出过程中,出错,那么就停止客户端写入。
rdbchecksum yes 重启服务器,从rdb导入内存的时候检测
dbfilename dump rdb #设置rdb文件名
dir #设置工作目录,rdb文件会写入该路径

实验:
1,在/var/下创建dir目录
2,修改redis配置文件,加入上面参数,如dir /var/dir指定rdb存放路径
3,重启进程,删除原来的rdb生成的文件
4,利用自带工具,生成10000个key
./redis-benchmark -n 10000
处理的请求数:
99.76% <= 1 milliseconds
100.00% <= 1 milliseconds
98039.22 requests per second 1秒的请求
5,查看/var/dir下是否有文件产生。
6,登陆redis设置一个键值
127.0.0.1:6379> set site www.zixue.it
OK
7,kill redis进程
[root@test-laoyangtest dir]# pkill -9 redis
[root@test-laoyangtest bin]# ./redis-cli
Could not connect to Redis at 127.0.0.1:6379: Connection refused
Could not connect to Redis at 127.0.0.1:6379: Connection refused
8,启动redis进程
[root@test-laoyangtest redis]# ./bin/redis-server ./redis.conf
9,查看设定的键值还在不
[root@test-laoyangtest redis]# ./bin/redis-cli
127.0.0.1:6379> get site
"www.zixue.it"

注意:有一定的缺点,因为会有异常掉电的情况。如之前打点保存了一次数据,在后面的某一点又保存了一次数据。这个时候rdb就不行了。后面会继续讲AOF的工作方式。

Redis之--rdb持久化

标签:目录   设定   redis配置   导入   检测   ref   -o   sum   错误   

原文地址:https://blog.51cto.com/yangjunfeng/2410174

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!