概述
redis持久化
redis的高性能是由于其将所有数据都存储在了内存中,为了使redis在重启之后仍能保证数据不丢失,需要将数据从内存中同步到硬盘中,这一过程就是持久化、
redis支持两种方式的持久化,一种时RDB方式,一种时AOF方式,可以单独使用其中或者二者结合使用。
1、RDB持久化(默认支持,无需配置)
该机制是指在指定的时间间隔内将内存中的数据集快照写入磁盘。
2、AOF持久化
该机制将以日志的形式记录服务器所处理的每一个写操作,在redis服务器启动之初会读取该文件来重新构建数据库,以保证启动后数据库中的数据是完整的。
3、无持久化
我们可以通过配置的方式禁用redis服务器的持久化功能,这样我们就可以将redis视为一个功能加强版的memcache了。
4、redis可以同时使用RDB和AOF
RDB
优势
![](https://img-blog.csdn.net/20170529234359188?watermark/2/text/ahr0cdovl2jsb2cuy3nkbi5uzxqvzxjsawfumtk5mg==/font/5a6l5l2t/fontsize/400/fill/i0jbqkfcma==/dissolve/70/gravity/center)
劣势
![](https://img-blog.csdn.net/20170529234403062?watermark/2/text/ahr0cdovl2jsb2cuy3nkbi5uzxqvzxjsawfumtk5mg==/font/5a6l5l2t/fontsize/400/fill/i0jbqkfcma==/dissolve/70/gravity/center)
配置说明Snapshoting
快照参数设置
![](https://img-blog.csdn.net/20170529234406032?watermark/2/text/ahr0cdovl2jsb2cuy3nkbi5uzxqvzxjsawfumtk5mg==/font/5a6l5l2t/fontsize/400/fill/i0jbqkfcma==/dissolve/70/gravity/center)
保存位置设置
![](https://img-blog.csdn.net/20170529234410343?watermark/2/text/ahr0cdovl2jsb2cuy3nkbi5uzxqvzxjsawfumtk5mg==/font/5a6l5l2t/fontsize/400/fill/i0jbqkfcma==/dissolve/70/gravity/center)
AOF
优势
![](https://img-blog.csdn.net/20170529234413032?watermark/2/text/ahr0cdovl2jsb2cuy3nkbi5uzxqvzxjsawfumtk5mg==/font/5a6l5l2t/fontsize/400/fill/i0jbqkfcma==/dissolve/70/gravity/center)
劣势
![](https://img-blog.csdn.net/20170529234415874?watermark/2/text/ahr0cdovl2jsb2cuy3nkbi5uzxqvzxjsawfumtk5mg==/font/5a6l5l2t/fontsize/400/fill/i0jbqkfcma==/dissolve/70/gravity/center)
配置AOF
配置信息
![](https://img-blog.csdn.net/20170529234419063?watermark/2/text/ahr0cdovl2jsb2cuy3nkbi5uzxqvzxjsawfumtk5mg==/font/5a6l5l2t/fontsize/400/fill/i0jbqkfcma==/dissolve/70/gravity/center)
AOF默认是关闭的
![](https://img-blog.csdn.net/20170529234509016?watermark/2/text/ahr0cdovl2jsb2cuy3nkbi5uzxqvzxjsawfumtk5mg==/font/5a6l5l2t/fontsize/400/fill/i0jbqkfcma==/dissolve/70/gravity/center)
策略的选择
![](https://img-blog.csdn.net/20170529234512314?watermark/2/text/ahr0cdovl2jsb2cuy3nkbi5uzxqvzxjsawfumtk5mg==/font/5a6l5l2t/fontsize/400/fill/i0jbqkfcma==/dissolve/70/gravity/center)
数据恢复演示
1、flushall操作,清空数据库
2、及时关闭redis服务器(防止dump.rdb),shutdown nosave
3、编辑aof文件,将日志中的flushall命令删除并重启服务即可。
步骤一:
在第二个窗口开启aop,并设置成总是保存没,然后重启redis
![](https://img-blog.csdn.net/20170529234532126?watermark/2/text/ahr0cdovl2jsb2cuy3nkbi5uzxqvzxjsawfumtk5mg==/font/5a6l5l2t/fontsize/400/fill/i0jbqkfcma==/dissolve/70/gravity/center)
步骤二:
在第一个窗口中清空数据库
![](https://img-blog.csdn.net/20170529234604158?watermark/2/text/ahr0cdovl2jsb2cuy3nkbi5uzxqvzxjsawfumtk5mg==/font/5a6l5l2t/fontsize/400/fill/i0jbqkfcma==/dissolve/70/gravity/center)
步骤三:
在第二个窗口中关闭redis
![](https://img-blog.csdn.net/20170529234608267?watermark/2/text/ahr0cdovl2jsb2cuy3nkbi5uzxqvzxjsawfumtk5mg==/font/5a6l5l2t/fontsize/400/fill/i0jbqkfcma==/dissolve/70/gravity/center)
步骤四:
修改appendonly.aof文件,将最后的命令flushall删除
![](https://img-blog.csdn.net/20170529234611986?watermark/2/text/ahr0cdovl2jsb2cuy3nkbi5uzxqvzxjsawfumtk5mg==/font/5a6l5l2t/fontsize/400/fill/i0jbqkfcma==/dissolve/70/gravity/center)
步骤五:
在第一个窗口启动redis,然后查询数据库内容
![](https://img-blog.csdn.net/20170529234618080?watermark/2/text/ahr0cdovl2jsb2cuy3nkbi5uzxqvzxjsawfumtk5mg==/font/5a6l5l2t/fontsize/400/fill/i0jbqkfcma==/dissolve/70/gravity/center)
最后
以上就是感性夕阳为你收集整理的【Redis学习】:redis持久化的全部内容,希望文章能够帮你解决【Redis学习】:redis持久化所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复