Redis之--rdb持久化

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

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文件会写入该路径ide

实验:
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的工做方式。server

相关文章
相关标签/搜索