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

罗湖网站建设设计福建网页制作

罗湖网站建设设计,福建网页制作,公司网站设计专业的,做几何图形和网站“年轻人#xff0c;就要勇敢追梦”#x1f339; 参考资料#xff1a;图解redis 目录 谈谈你对AOF持久化的理解#xff1f; redis的三种写回策略是什么#xff1f; 谈谈你对AOF重写机制的理解#xff1f;AOF重写机制的具体过程#xff1f; 谈谈你对RDB快照的理解就要勇敢追梦” 参考资料图解redis 目录 谈谈你对AOF持久化的理解 redis的三种写回策略是什么 谈谈你对AOF重写机制的理解AOF重写机制的具体过程 谈谈你对RDB快照的理解怎么触发RDB redis大key对持久化有什么影响 如何用redis实现分布式锁基于 Redis 实现分布式锁的优点与缺点 数据库和缓存如何保持一致性 谈谈你对AOF持久化的理解 Redis每执行一次写操作命令就会以追加的方式写入到一个文件里这个文件就叫做AOF日志当redis重启时再去执行这个文件中的命令就相当于做了数据恢复。将写操作命令写入到日志文件的过程就是redis的AOF持久化过程。 值得注意的是redis只会记录写操作读操作不会记录另外redis是先执行完写操作命令再将这个命令记录到日志中这么做有两点好处 避免了额外的检查开销如果命令是错误的那么在执行的时候就可以检查出来了不会往日志中记录一条错误命令不会阻塞当前命令的执行 但是也有两点坏处 如果redis在执行这条写命令的时候redis发生故障宕机也就是还没来得及将这条命令写入到日志中所以就会造成数据丢失可能会阻塞下一条命令的执行redis的三种写回策略是什么 AOF日志中的命令还并没有被同步到硬盘此时这些命令还存在于server.aof_buf缓冲区中 AOF具体有三种写回策略 always:命令写入aof_buf之后就立即调用fsync函数将AOF数据同步到硬盘。可靠性高最大程度保证数据不会丢失但是性能开销比较大no命令写入aof_buf之后先将命令写入到AOF文件的内核缓冲区不对AOF文件做fsync同步同步硬盘操作由操作系统负责。性能好但是如果宕机会丢失很多数据everysec命令写入aof_buf之后先将命令写入到AOF文件的内核缓冲区然后每隔一秒调用一次fsync函数将内核缓冲区中的数据同步到硬盘。性能适中redis宕机会丢失一秒内的数据谈谈你对AOF重写机制的理解AOF重写机制的具体过程 随着执行命令的增多AOF文件中的命令也越来越多AOF文件的体积也会越来越大AOF重写机制的目的就是为了压缩AOF文件的体积。 AOF重写机制的妙处就在于它会读取数据库中的最新数据然后仅用一条命令来记录这条数据也就是说如果在之前这条记录被多次修改过也就意味着有多条修改命令那么只需要记录最后一条修改不就行了吗这样就减少了命令的数量AOF重写机制会把这些最新的命令写入到一个新的AOF文件中然后覆盖掉原有的AOF文件。 因为AOF重写过程比较耗时所以一般不会在主进程中执行 开启AOF重写机制之后主进程会fork出一个子进程由子进程来执行AOF重写。 这样做的好处有两点 重写过程由子进程来执行主进程依旧可以相应客户端命令主进程和子进程共用一份页表即主进程和子进程共用一块物理内存 缺点 主进程在fork子进程的时候由于要复制一份页表给子进程所以会造成主进程阻塞另外当主进程或者子进程修改共享数据时会发生写时复制内核会将物理内存再拷贝一份也会造成主进程的阻塞谈谈你对RDB快照的理解怎么触发RDB RDB快照记录了某一瞬间内存中的数据所以RDB文件记录的是实际的数据而AOF日志记录的是一条条命令。使用RDB来进行数据恢复的效率要高于AOF所以RDB是redis的默认持久化方式。 触发机制两条命令save和bgsave save阻塞当前redis服务器直到RDB过程结束bgsave主进程fork出一个子进程阻塞只发生在fork阶段一般时间很短redis大key对持久化有什么影响 大key对AOF日志的影响 使用always策略主线程在执行fsync函数时阻塞的时间比较久使用no策略由于永远不会执行fsync函数所以不会影响主线程使用everysec策略由于是异步执行fsync函数所以大key持久化的过程不会影响主线程 大key对AOF重写和RDB的影响 创建子进程的过程中父进程会发生阻塞因为子进程要复制父进程的页表等数据结构创建完子进程之后父进程也会发生阻塞如果父进程对大key做了修改那么内核就会发生写时复制会把物理内存复制一份由于大key占用的物理内存比较大那么在复制物理内存的时候就会很耗时就会阻塞父进程如何用redis实现分布式锁基于 Redis 实现分布式锁的优点与缺点 分布式锁主要应用于并发环境下保证某个资源在同一时刻只能被某一个用户所使用 使用 redis 中的 SET NX命令实现分布式锁 SET lock_key unique_value NX PX 10000  在设置锁的时候需要满足两个条件 需要对锁设置过期时间避免锁被获取之后发生异常导致客户端无法释放锁锁变量的值需要能够区分出不同的用户 优点 性能高效、实现方便使用SET NX命令 缺点 超时时间不好设置如果设置的时间太长那么会影响性能如果设置的时间太短起不到互斥的作用可能存在不可靠性redis基于集群分布的且主从复制的过程是异步的可能在redis主节点获取到锁之后主节点宕机还没来得及同步所以在新的redis主节点上依旧可以重新获取锁数据库和缓存如何保持一致性 如果先更新数据库再更新缓存 此时数据库中的值是2而缓存中的值是1出现了数据库和缓存中的数据不一致的现象  如果先更新缓存再更新数据库 此时缓存中的值是2数据库中的值是1依旧出现了数据库和缓存中的数据不一致的现象  如果先删除缓存再更新数据库 这种情况下读请求和写请求并发的情况下出现了数据库和缓存中的数据不一致的问题 如果先更新数据库再删除缓存 如果但从理论上分析上述情况依旧导致了数据不一致的问题但是值得注意的是在实际中这种情况出现的概率并不高因为写缓存的速度要快于写数据库的速度 所以先更新数据库再删除缓存这种方案是可行的。 但是继续分析更新数据库和删除缓存这是两种操作如果更新数据库成功了但是删除缓存的时候失败了那么缓存中缓存的就是旧值数据库中存放的是新值。怎么保证这两个操作都能顺利执行呢 解决方案有两种 重试机制将要操作的数据加入到消息队列如果删除缓存失败那么就重新读取消息重新执行删除缓存操作如果删除缓存成功了就将消息从消息队列中移除。 订阅MySQL binlog在更新数据库时会产生一条bin log日志如果删除缓存失败就从bin log中拿到具体操作的数据进行重新删除 整理面经不易觉得有帮助的小伙伴点个赞吧~感谢收看
http://www.w-s-a.com/news/158233/

相关文章:

  • 网页设计与网站建设书籍包头住房与城乡建设局网站
  • 重庆网站建设平台免费猎头公司收费收费标准和方式
  • 形象设计公司网站建设方案书打开一个不良网站提示创建成功
  • 网站手机页面如何做网站关键字 优帮云
  • 免费的黄冈网站有哪些下载软件系统软件主要包括网页制作软件
  • 企业微站系统重庆高端网站建设价格
  • 有没有做衣服的网站吗网站自适应开发
  • 青海省制作网站专业专业定制网吧桌椅
  • 网站开发的项目17岁高清免费观看完整版
  • 手机网站建设多少钱一个门网站源码
  • 重庆 网站开发天津住房和城乡建设厅官方网站
  • 泰安高级网站建设推广厦门高端网站建设定制
  • jsp网站开发引用文献手机seo排名
  • 创建一家网站如何创设计网页的快捷网站
  • 1688代加工官方网站h5开发教程
  • 静态网站源码下载网站怎么显示备案号
  • 网站代码设计网站开发维护任职要求
  • 长寿做网站的电话怎么快速刷排名
  • 上海市中学生典型事例网站邯郸全网推广
  • 厦门网站建设680元好男人的最好的影院
  • 石家庄网站建设设计产品设计专业就业前景
  • 网站移动排名做最好最全的命理网站
  • 网站怎么防黑客杭州市做外贸网站的公司
  • 网站推广公司认准乐云seo易语言做网站登录
  • 配色设计网站推荐网站下拉菜单重叠
  • 内容展示型网站特点在北京注册公司需要多少钱
  • h5网站源代码创意设计理念
  • 岳阳网站开发服务推广运营平台
  • 网站开发得多长时间湖南建设人力资源网证书查询
  • 论坛网站开发网络营销是什么时候产生的