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

中国有多少家做外贸网站设计的公司洛阳便宜网站建设公司

中国有多少家做外贸网站设计的公司,洛阳便宜网站建设公司,WordPress换域名更新,中国建设网官网住房和城乡建设官网什么是AOF日志 AOF日志是redis为数据的持久化提供了的一个技术,日志里面记录着执行redis写命令。每当redis执行一条写命令的时候#xff0c;就会将该命令记录 到AOF日志当中。当redis启动的时候#xff0c;可以加载AOF日志中的所有指令#xff0c;并执行这些指令恢复所有的… 什么是AOF日志 AOF日志是redis为数据的持久化提供了的一个技术,日志里面记录着执行redis写命令。每当redis执行一条写命令的时候就会将该命令记录 到AOF日志当中。当redis启动的时候可以加载AOF日志中的所有指令并执行这些指令恢复所有的数据。 在 Redis 中 AOF 持久化功能默认是不开启的需要我们修改 redis.conf 配置文件中的以下参数 Redis 是先执行写操作命令后才将该命令记录到 AOF 日志里的  优点先执行写操作命令再记录日志的话只有在该命令执行成功后才将命令记录到 AOF 日志里这样就不用额外的检查开销不会出现语法错误等问题保证记录在 AOF 日志里的命令都是可执行并且正确的 缺点执行写操作命令和记录日志是两个过程那当 Redis 在还没来得及将命令写入到硬盘时服务器发生宕机了这个数据就会有丢失的风险 写入AOF日志的过程 Redis 执行完写操作命令后会将命令追加到 server.aof_buf 缓冲区然后通过 write() 系统调用将 aof_buf 缓冲区的数据写入到 AOF 文件此时数据并没有写入到硬盘而是拷贝到了内核缓冲区 page cache等待内核将数据写入硬盘 redis.conf 配置文件中的 appendfsync 配置项可以有以下 3 种参数可填 Always这个单词的意思是「总是」所以它的意思是每次写操作命令执行完后同步将 AOF 日志数据写回硬盘Everysec这个单词的意思是「每秒」所以它的意思是每次写操作命令执行完后先将命令写入到 AOF 文件的内核缓冲区然后每隔一秒将缓冲区里的内容写回到硬盘No意味着不由 Redis 控制写回硬盘的时机转交给操作系统控制写回的时机也就是每次写操作命令执行完后先将命令写入到 AOF 文件的内核缓冲区再由操作系统决定何时将缓冲区内容写回硬盘。 Always 策略的性能比较差可靠性高尽可能保证数据不会丢失 Everysec策略性能适中宕机会丢失一秒的数据 No策略性能良好宕机会丢失较多的数据 AOF重写机制 AOF 日志是一个文件随着执行的写操作命令越来越多文件的大小会越来越大。 其中AOF日志中 Redis 为了避免 AOF 文件越写越大提供了 AOF 重写机制当 AOF 文件的大小 超过所设定的阈值后Redis 就会启用 AOF 重写机制来压缩 AOF 文 件。 AOF重写机制 读取当前数据库中的所有键值对然后将每一个键值对用一条命令记录到「新的 AOF 文件」 作用 尽管某个键值对被多条写命令反复修改最终也只需要根据这个「键值对」当前的最新状态然后用一条命令去记录键值对代替之前记录这个键值对的多条命令这样就减少了 AOF 文件中的命令数量。最后在重写工作完成后。最后在重写工作完成后将新的 AOF 文件覆盖现有的 AOF 文件。 为什么重写 AOF 的时候不直接复用现有的 AOF 文件而是先写到新的 AOF 文件再覆盖过去 如果 AOF 重写过程中失败了现有的 AOF 文件就会造成污染可能无法用于恢复使用。 AOF后台重写 当 触发 AOF 重写时比如当 AOF 文件大于 64M 时就会对 AOF 文件进行重写这时是需要读取所有缓存的键值对数据并为每个键值对生成一条命令然后将其写入到新的 AOF 文件重写完后就把现在的 AOF 文件替换掉。这个过程其实是很耗时的所以重写的操作不能放在主进程 所以Redis 的 重写 AOF 过程是由后台子进程 bgrewriteaof 来完成的这样做有两个作用 子进程进行 AOF 重写期间主进程可以继续处理命令请求从而避免阻塞主进程父进程 使用fork 创建子进程时父子进程是共享内存数据的不过这个共享的内存只能以只读的方式而当父子进程任意一方修改了该共享内存就会发生「写时复制」所以子进程在执行后台重写是不影响父进程。 子进程是怎么拥有主进程一样的数据副本的呢 当父进程 使用fork 创建子进程的时候会将父进程中的页表 复制给子进程因此父子进程它们的共享一块物理内存。 写时复制顾名思义在发生写操作的时候操作系统才会去复制物理内存这样是为了防止 fork 创建子进程时由于物理内存数据的复制时间过长而导致父进程长时间阻塞的问题。 重写子进程只会对这个内存进行只读重写 AOF 子进程会读取数据库里的所有数据并逐一把内存数据的键值对转换成一条命令再将命令记录到重写日志新的 AOF 文件 重写 AOF 日志过程中如果主进程修改了已经存在 key-value此时这个 key-value 数据在子进程的内存数据就跟主进程的内存数据不一致了这时要怎么办呢 Redis 设置了一个 AOF 重写缓冲区这个缓冲区在创建 bgrewriteaof 子进程之后开始使用 在重写 AOF 期间当 Redis 执行完一个写命令之后它会同时将这个写命令写入到 「AOF 缓冲区」和 「AOF 重写缓冲区」。 当子进程完成 AOF 重写工作扫描数据库中所有数据逐一把内存数据的键值对转换成一条命令再将命令记录到重写日志后会向主进程发送一条信号。 主进程收到该信号后会调用一个信号处理函数该函数主要做以下工作 将 AOF 重写缓冲区中的所有内容追加到新的 AOF 的文件中使得新旧两个 AOF 文件所保存的数据库状态一致新的 AOF 的文件进行改名覆盖现有的 AOF 文件。
http://www.w-s-a.com/news/753407/

相关文章:

  • 惠州h5网站建设建设公司网站报价
  • 做网站多少钱 优帮云嘉兴五县两区网站建设
  • 三亚旅游网站策划书企业网站建设的定位
  • 网站建设工作台账网站建设的实验结论
  • 商业网站建设平台制作软件的软件
  • 本地网站开发wordpress页面关键词和描述
  • 微网站 合同软件开发培训方案
  • 怎么做淘宝客网站备案广告公司图片大全
  • 微信小程序展示网站建设多少钱做网站用什么软件初二
  • 瀑布流资源网站模板打码网站建设
  • wordpress 支付宝打赏网站视觉优化的意义
  • 建设网站需要几个文件夹永久免费内存大服务器
  • 可信赖的手机网站建设wordpress 显示摘要
  • 谁给我一个企业邮箱认证wordpress优化攻略
  • 建站软件免费版下载涿州做网站的
  • html5网站开发西安哪家网站建设公司好
  • 怎么做网站赚广州番禺区是富人区吗
  • 服装网站推广方案戴尔网站建设成功
  • 手机网站布局国外可以用什么网站做问卷
  • 手机建网站网店logo设计图片免费
  • 装修网站有哪些wordpress外网访问错误
  • 个人做电影网站服务器放国外安全吗建设通app
  • 西安公司网站开发快站官网平台
  • 北京网站设计公司哪个好网站开发属于哪个部门
  • 现在海外做的比较好一点的网站网站报价书
  • 做整站优化漳州建网站
  • jsp网站建设期末作业搜索引擎优化的定义是什么
  • 网站建设一级页面二级页面WordPress托管如果使用插件
  • 网站导航栏设计代码织梦做泰文网站
  • 网站建设的定位是什么南通网站定制费用