您当前的位置: 首页 > 学无止境 > 网站建设 网站首页网站建设
redis-rdb快照持久化
发布时间:2017-04-01 21:28:18编辑:雪饮阅读()
持久化:即把数据存储于断电后不会丢失的设备中,通常是硬盘
常见的持久化方式:
主从:通过从服务器保存和持久化,如mongoDB的replication sets配置,主(数据往内存里写),从(数据往硬盘写)
日志:如mysql等传统数据库保存二进制数据于文件中,并操作生成相关日志,并通过日志来恢复数据
couchDB对于数据内容,不修改,只追加,则文件本身就是日志,不会丢失数据,也就是说对于couchDB的增删改查都是在文件中操作
并不会操作到内存上,那么断电也就会持久化保存数据。
redis持久化分为rdb和aof
rdb的工作原理:
每隔n分钟或n次写操作后,从内存dump数据形成rdb文件,压缩放在备份目录
从内存做一个快照存储于硬盘做为一个映像文件
rdb又叫快照持久化
rdb快照相关参数:
这些参数在redis的配置文件"redis.conf"中
老版本中redis-server不仅要应答请求,而且每隔几分钟还要导出数据,那么有个问题,当redis-server忙着导数据时,所有应答请求都会被挂起(单线程),待redis-server导数据完成后才会来响应。
新版本中redis-server当要导出数据时,会新开一个子进程来导数据,主进程正常工作。
此时有可能出现子进程导出失败(硬盘存储不足,权限不足等原因),那么此时是否开启
“stop-writes-on-bgsave-error” 默认参数为yes,即“stop-writes-on-bgsave-error yes”
关闭rdb导出:停止配置文件中的三个save即可
杀掉redis进程:
pkill -9 redis
性能测试命令:
./bin/redis-benchmark -n 10000(立即执行10000个命令)
执行完毕会显示平均下来每秒所执行请求的次数
kill进程模拟断电测试
rdb的缺陷
在2个保存点之间,断电,将会丢失1-n分钟的数据
出于对持久化的更精细要求,redis增添了aof(2.4版本之后 only file
关键字词:redis,rdb,快照
上一篇:redis-频道发布与消息订阅
下一篇:redis-aof日志持久化