当前位置: 首页 > news >正文

地信的网站建设工业信息化部网站备案

地信的网站建设,工业信息化部网站备案,福州设计企业项目建设管理系统,个人执业资格注册查询Redis持久化机制详解 一、Redis为什么需要持久化机制 Redis一般用作缓存#xff0c;其数据存储在内存中#xff0c;当Redis宕机后#xff0c;内存中的数据将会丢失。因此使用缓存的时候#xff0c;我们经常需要对内存中的数据进行持久化也就是将内存中的数据写入到硬盘中…Redis持久化机制详解 一、Redis为什么需要持久化机制 Redis一般用作缓存其数据存储在内存中当Redis宕机后内存中的数据将会丢失。因此使用缓存的时候我们经常需要对内存中的数据进行持久化也就是将内存中的数据写入到硬盘中 Redis 不同于 Memcached 的很重要一点就是Redis 支持持久化而且支持 3 种持久化方式: 快照RDB只追加文件AOFRDB 和 AOF的混合持久化Redis4.0新增 二、RDB持久化 一什么是RDB持久化 1、快照持久化在指定的时间间隔内将内存中的数据以快照的形式写入磁盘内存中的数据以二进制序列化的形式写入磁盘 2、在满足默认配置的RDB生成时Redis会fork出子进程来进行持久化不阻塞主进程的执行。子进程将数据写入临时文件然后替换旧的RDB文件进而完成磁盘的写入主进程可以处理读写请求。 RDB快照持久化是Redis默认采用的持久化方式RDB默认配置的生成策略如下 save 900 1 #在900秒(15分钟)之后如果至少有1个key发生变化Redis就会自动触发bgsave命令创建快照。save 300 10 #在300秒(5分钟)之后如果至少有10个key发生变化Redis就会自动触发bgsave命令创建快照。save 60 10000 #在60秒(1分钟)之后如果至少有10000个key发生变化Redis就会自动触发bgsave命令创建快照。 二RDB持久化的优、缺点 优点 1、直接存储内存数据的二进制序列化形式占用磁盘更小2、宕机后重启恢复的速度比AOF快 缺点 RDB持久化是需要Redis fork出子进程来执行持久化频繁的执行成本较高 三、AOF持久化 一什么是AOF持久化 AOFappend only file只追加文件与快照持久化RDB相比AOF持久化的实时性更好。AOF持久化默认是不开启的Redis6.0 版本之后默认是开启的 开启AOF持久化后每执行一条能改变Redis中数据的命令1、Redis服务器就会将该指令追加到AOF缓冲区 2、然后调用write函数将数据将数据写到系统内核缓冲区注意此时并没有同步到磁盘 3、最后根据持久化方式fsync策略将缓存区的数据同步到磁盘中。 根据如上所述我们可以概述出AOF工作基本流程。 二AOF持久化的基本流程 AOF持久化功能的实现可以简单分为5步 1、命令追加appendRedis所执行的所有的写命令会追加到AOF缓冲区。2、文件写入write这一步需要调用write函数系统调用将数据写入到系统缓冲区注意 此时并没有写到磁盘3、文件同步fsync根据对应的持久化方式fsync策略调用fsync函数进行磁盘的同步操作4、文件重写rewrite随着AOF文件越来越大需要定期进行AOF的重写来达到压缩的目的注意AOF重写并非是对旧的AOF文件进行重写来达到压缩的目的而是通过重新去获取最新执行的Redis指令并生成一个新的AOF文件进而替换旧的AOF文件来完成重写fork 双写5、重启加载load当Redis重启时可以加载AOF文件进行数据恢复 三AOF持久化的三种回写策略fsync策略 Redis提供了三种不同的AOF持久化方式fsync回写策略分别是Always、Everysec、No三种回写策略。 1、Always主线程调用write将数据写入到系统缓冲区后立即调用fsync函数将数据同步到AOF文件完成后线程返回。这样严重降低Redis的性能write fsync2、Everysec:主线程调用write将数据写入系统缓冲区后立即返回由后台线程每隔1s调用fsync函数将数据同步到AOF文件write fsync fsync时间间隔为1s3、No主线程调用write将数据写入系统缓冲区后立即返回由操作系统决定何时进行同步。Linux下一般为30S一次write 但不fsyncfsync的时机由操作系统决定 四AOF重写 随着AOF文件变得越来越大系统的性能将会受到影响所以我们需要进行AOF的重写来达到压缩的目的。 我们这里需要注意AOF重写并非是对旧的AOF文件进行重写而是根据缓存中最新的Redis指令生成一个新的AOF文件进而替换旧的AOF文件来完成重写。重写期间Redis还会维护一个AOF重写缓冲区 AOF重写逻辑主要分为两步fork 双写 1、主线程先fork出子进程子进程复制父进程的虚拟页表此处为什么不是直接拷贝数据而是复制虚拟机页表呢是为了防止一次性拷贝大量数据导致主线程阻塞过长和内存浪费的问题2、子进程读取内存中的数据并写到AOF重写缓冲区进而同步到新的AOF文件中3、重写期间主进程还是会正常接收写命令新的命令不仅会写入AOF旧的文件还会写入AOF新的文件保证重写的过程中发生宕机旧的AOF文件还是全的4、重写完成后将新的AOF文件替换旧的AOF文件。 三、混合持久化 一AOF持久化 优点 AOF持久化实时性更强数据安全性更高 缺点 AOF文件需要定期进行瘦身宕机后恢复速度相比与RDB持久化要慢 二RDB持久化 优点 DRB持久化存储的是二进制序列化的数据宕机后恢复速度要比AOF持久化要快 缺点 数据的实时性及安全性要差一些。 Redis4.0 提出了混合使用AOF和RDB的方式。 RDB快照按照一定的频率生成两次快照间增量命令记录到AOF文件中。这种混合持久化即具备RDB的快速恢复能力同时也具备跟高的数据安全性。
http://www.zqtcl.cn/news/525755/

相关文章:

  • 制作手机端网站开发厦门网站设计定制
  • 佛山网站开发公司做网站在什么地方发帖子呢
  • 无网站可以做cpc吗wordpress 12张表
  • 有些中小网站cnzz网站排名是怎么做的
  • 深圳做微商网站的公司高端做网站价格
  • 在线原型设计网站wordpress菜单页内跳转
  • 做电影网站要买什么抖音推广怎么收费
  • 专业的公司网站开发网站按钮设计
  • 南宁网站建设是什么深圳公司有哪些
  • 杭州手机申请网站登录怎么做电子商务网站
  • 青岛个人接网站建设wordpress 转载文章
  • 网上做网站任务网络营销传播的核心内容
  • 做黑界头像网站成考过来人的忠告
  • 宁波网站建设是哪家便宜织梦网站数据库备份文件夹
  • 在北京大学生做家教的网站淘宝网页
  • 英铭网站建设网站如何推广引流
  • 关于电子商务网站建设的现状企业公示信息查询系统山西
  • 网站开发 翻译长春建站企业
  • dedecms网站网站解析一般什么时候
  • 制作网站的技术北京律师24小时电话
  • 可拖拽 网站建设如何做自媒体和网站签约赚点击
  • 做网站选哪个语言怎么登录百度app
  • 国发网站建设网站优化主要优化哪些地方
  • 快速微信网站开发定制网站建设费用预算
  • 网站制作叫什么知名网站建设制作
  • 网络营销网站建设公司h5应用
  • 网站开发合同要上印花税吗南江红鱼洞水库建设管理局网站
  • 疏通下水道网站怎么做wordpress 恢复初始化
  • 电脑商业网站怎的做软文推广渠道
  • 自己做网站需要买什么如何做微信商城网站