温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Redis之--rdb持久化

发布时间:2020-07-20 20:37:29 来源:网络 阅读:447 作者:yangjunfeng 栏目:关系型数据库

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

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的工作方式。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI