全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

内存型数据库Redis持久化小结

因为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优化双核驱动策略  制作证书网站有哪些,全国城建培训中心证书查询官网?  完全自定义免费建站平台:主题模板在线生成一站式服务  建站主机功能解析:服务器选择与快速搭建指南  宠物网站制作html代码,有没有专门介绍宠物如何养的网站啊?  高端云建站费用究竟需要多少预算?  如何快速生成专业多端适配建站电话?  微信小程序 五星评分(包括半颗星评分)实例代码  正规网站制作公司有哪些,目前国内哪家网页网站制作设计公司比较专业靠谱?口碑好?  如何选择适配移动端的WAP自助建站平台?  香港网站服务器数量如何影响SEO优化效果?  成都网站制作报价公司,成都工业用气开户费用?  如何构建满足综合性能需求的优质建站方案?  建站之星备案是否影响网站上线时间?  C#怎么创建控制台应用 C# Console App项目创建方法  SQL查询语句优化的实用方法总结  如何在IIS中新建站点并配置端口与IP地址?  网页设计网站制作软件,microsoft office哪个可以创建网页?  视频网站app制作软件,有什么好的视频聊天网站或者软件?  如何制作一个表白网站视频,关于勇敢表白的小标题?  如何快速上传建站程序避免常见错误?  江苏网站制作公司有哪些,江苏书法考级官方网站?  建站主机核心功能解析:服务器选择与网站搭建流程指南  阿里云网站搭建费用解析:服务器价格与建站成本优化指南  如何在Golang中实现微服务服务拆分_Golang微服务拆分与接口管理方法  教学论文网站制作软件有哪些,写论文用什么软件 ?  建站IDE高效指南:快速搭建+SEO优化+自适应模板全解析  广州网站制作的公司,现在专门做网站的公司有没有哪几家是比较好的,性价比高,模板也多的?  如何有效防御Web建站篡改攻击?  建站主机选虚拟主机还是云服务器更好?  厦门模型网站设计制作公司,厦门航空飞机模型掉色怎么办?  深圳网站制作费用多少钱,读秀,深圳文献港这样的网站很多只提供网上试读,但有些人只要提供试读的文章就能全篇下载,这个是怎么弄的?  建站之星CMS建站配置指南:模板选择与SEO优化技巧  如何选择CMS系统实现快速建站与SEO优化?  c++如何打印函数堆栈信息_c++ backtrace函数与符号名解析【方法】  建站之星备案流程有哪些注意事项?  音乐网站服务器如何优化API响应速度?  洛阳网站制作公司有哪些,洛阳的招聘网站都有哪些?  简单实现Android文件上传  建站之星3.0如何解决常见操作问题?  股票网站制作软件,网上股票怎么开户?  如何用低价快速搭建高质量网站?  制作网站的模板软件,网站怎么建设?  最好的网站制作公司,网购哪个网站口碑最好,推荐几个?谢谢?  单页制作网站有哪些,朋友给我发了一个单页网站,我应该怎么修改才能把他变成自己的呢,请求高手指点迷津?  建站之星与建站宝盒如何选择最佳方案? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。