因为Redis是内存型数据库,所以为了防止因为系统崩溃等原因导致数据丢失的问题,Redis提供了两种不同的持久化方法来将数据存储在硬盘里面,一种方法是快照(RDB),它可以将存在于某一个时刻的所有数据都写入到硬盘里面,另外一种方法是只追加文件(AOF),它会在执行写命令时,将被执行的写命令都写入到硬盘里面。

快照持久化
Redis可以通过创建快照来获得在内存里面的数据在某一个时间点上的副本。在创建快照之后,用户可以对快照进行备份,可以将快照复制到其它服务器从而创建具有相同数据的服务器副本,还可以将快照留在原地以便重启服务器时使用。
有两个命令可以用于生成RDB文件,一个是SAVE,另外一个BGSAVE。
在只使用快照持久化来保存数据时,如果系统真的发生崩溃,用户将丢失最近一次生成快照之后更改的所有数据。因此,快照持久化只适用于那些即使丢失一部分数据也不会造成问题的应用程序。
SAVE
特点:SAVE命令会阻塞Redis服务器进程,直到RDB文件创建完毕,在服务器进程阻塞期间,服务器不能处理任何命令请求。
缺点:服务器持久化期间无法接受其它请求。
BGSAVE
特点:BGSAVE命令则会派生出一个子进程,然后由子进程负责创建RDB文件,服务器进程则继续处理命令请求。
缺点:创建子进程所耗费的时间会随着Redis占用的内存而增加。
AOF持久化
AOF持久化会将被执行的写命令写到AOF文件的末尾,以此来纪录数据所发生的变化,因此,Redis只要从头到尾重新执行一次AOF文件所包含的所有写命令,就可以恢复AOF文件所记录的数据集。
在设置同步频率的时候,存在三个选项:
| 选项 | 同步频率 |
|---|---|
| always | 每个Redis写命令都要同步写入硬盘,但是这样做会占用Redis所拥有的内存,严重降低Redis的速度 |
| everysec | 每秒执行一次同步,显式地将多个写命令同步到硬盘 |
| no | 让操作系统来决定应该何时进行同步 |
最好使用everysec,既能避免每次都写入所造成的性能影响,又能避免操作系统崩溃所导致的可能丢失不定量数据,其即使系统崩溃,用户最多只会丢失一秒之内产生的数据,当硬盘忙于执行写入操作的时候,Redis还会优雅的放慢自己的速度以便适应硬盘的最大写入速度。
缺点:因为Redis会不断的将被执行的写命令纪录到AOF文件里面,所以随着Redis不断执行,AOF文件的体积也会不断增长,极端条件下,AOF甚至可能会用完硬盘的所有可用空间。
为了解决上面的缺点,Redis提供了BGREWRITEAOF命令,这个命令会通过移除AOF文件中的冗余命令来重写AOF文件,使得AOF文件尽可能的小。它的原理和BGSAVE命令相似,Redis会创建一个子进程,然后由子进程负责对AOF文件进行重写,因为AOF文件重写也需要用到子进程,所以同样存在快照持久化因为创建子进程所导致的性能问题和内存占用问题。
# 内存数据库
# 持久化
# redis持久化到数据库
# redis
# redis数据的两种持久化方式对比
# docker下的 redis 之持久化存储详解
# Redis的持久化方案详解
# 关于Redis数据库三种持久化方案介绍
# redis的2种持久化方案深入讲解
# Redis如何正确关闭和开启持久化
# 将被
# 重写
# 自己的
# 操作系统
# 也会
# 还可以
# 都要
# 多个
# 最多
# 还会
# 两种
# 可以用
# 适用于
# 会在
# 只会
# 可以通过
# 这样做
# 它可以
# 又能
# 写到
相关文章:
在线制作视频网站免费,都有哪些好的动漫网站?
如何选择高效响应式自助建站源码系统?
代刷网站制作软件,别人代刷火车票靠谱吗?
如何选购建站域名与空间?自助平台全解析
建站之星好吗?新手能否轻松上手建站?
香港服务器网站推广:SEO优化与外贸独立站搭建策略
成都网站制作报价公司,成都工业用气开户费用?
宝塔建站教程:一键部署配置流程与SEO优化实战指南
宝塔新建站点报错如何解决?
建站之星Pro快速搭建教程:模板选择与功能配置指南
建站主机选购指南:核心配置优化与品牌推荐方案
高性价比服务器租赁——企业级配置与24小时运维服务
用v-html解决Vue.js渲染中html标签不被解析的问题
高性能网站服务器部署指南:稳定运行与安全配置优化方案
如何用好域名打造高点击率的自主建站?
零服务器AI建站解决方案:快速部署与云端平台低成本实践
如何快速搭建高效可靠的建站解决方案?
洛阳网站制作公司有哪些,洛阳的招聘网站都有哪些?
如何构建满足综合性能需求的优质建站方案?
如何解决VPS建站LNMP环境配置常见问题?
如何通过IIS搭建网站并配置访问权限?
b2c电商网站制作流程,b2c水平综合的电商平台?
中山网站推广排名,中山信息港登录入口?
建站之星各版本价格是多少?
javascript中的try catch异常捕获机制用法分析
如何通过建站之星自助学习解决操作问题?
建站上市公司网站建设方案与SEO优化服务定制指南
JS中使用new Date(str)创建时间对象不兼容firefox和ie的解决方法(两种)
建站主机是什么?如何选择适合的建站主机?
新网站制作渠道有哪些,跪求一个无线渠道比较强的小说网站,我要发表小说?
建站之星官网登录失败?如何快速解决?
建站VPS配置与SEO优化指南:关键词排名提升策略
齐河建站公司:营销型网站建设与SEO优化双核驱动策略
北京网站制作公司哪家好一点,北京租房网站有哪些?
如何用5美元大硬盘VPS安全高效搭建个人网站?
上海网站制作网站建设公司,建筑电工证网上查询系统入口?
怀化网站制作公司,怀化新生儿上户网上办理流程?
建站主机CVM配置优化、SEO策略与性能提升指南
建站之星如何实现五合一智能建站与营销推广?
如何制作算命网站,怎么注册算命网站?
专业企业网站设计制作公司,如何理解商贸企业的统一配送和分销网络建设?
php能控制zigbee模块吗_php通过串口与cc2530 zigbee通信【介绍】
5种Android数据存储方式汇总
建站主机如何安装配置?新手必看操作指南
个人摄影网站制作流程,摄影爱好者都去什么网站?
如何在Golang中实现微服务服务拆分_Golang微服务拆分与接口管理方法
如何在IIS中新建站点并配置端口与物理路径?
建站之星后台管理如何实现高效配置?
公司网站制作费用多少,为公司建立一个网站需要哪些费用?
Android自定义listview布局实现上拉加载下拉刷新功能
*请认真填写需求信息,我们会在24小时内与您取得联系。