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

响应式网站div居中什么建站平台好

响应式网站div居中,什么建站平台好,房产网站建设接单,云开发和普通开发区别在 Redis 主从复制架构中,从库在读取一个主库创建且已过期但尚未被删除的键时,其行为取决于 Redis 的版本: Redis 3.2 之前(有问题的行为): 从库会返回已过期的数据。 这是因为: 主库负责管理过…

在 Redis 主从复制架构中,从库在读取一个主库创建且已过期但尚未被删除的键时,其行为取决于 Redis 的版本

  1. Redis 3.2 之前(有问题的行为):

    • 从库会返回已过期的数据。 这是因为:
      • 主库负责管理过期键。过期键的删除(无论是惰性删除还是定期删除)在主库上触发。
      • 当主库删除一个过期键时,它会向所有从库发送一个 DEL 命令,从库才会删除该键。
      • 关键点: 如果主库尚未执行删除操作(例如,该键刚过期,还没来得及被惰性删除或定期删除扫描到),那么这个过期的键及其值仍然存在于从库的内存中。
      • 从库的视角: 从库不会主动检查键是否过期。它只忠实地保存和执行来自主库的复制流中的命令。如果主库没有发送 DEL 命令,从库就认为这个键仍然有效。
      • 结果: 客户端连接到一个从库,请求这个过期的键,从库会直接返回键的值,就像它没有过期一样。这导致了读取到过期数据的不一致性问题。
  2. Redis 3.2 及之后(修复的行为 - 逻辑过期时间):

    • 从库会返回 nil (或者等效的空结果,如空列表/集合等)。 Redis 3.2 引入了一个重要的改进来解决这个问题:
      • 主库在向从库同步带有过期时间(EXPIRE/PEXPIRE/SET ... EX 等)的键时,不再同步绝对过期时间戳,而是同步逻辑过期时间(相对时间)。
      • 具体来说,主库同步的是 PEXPIREAT 命令,但参数被转换成了键的剩余生存时间(TTL)的毫秒数。例如,主库不是发送 PEXPIREAT mykey 1718541235000(绝对时间戳),而是计算这个绝对时间戳与当前时间的差值,发送 PEXPIRE mykey 5000(表示还剩 5000 毫秒过期)。
    • 关键点: 从库接收到 PEXPIRE mykey <ttl> 命令后,会在本地重新计算这个键的绝对过期时间戳(基于从库自身的本地时钟加上收到的 <ttl>)。
    • 结果:
      • 当客户端在从库上读取一个键时,从库会使用自己本地存储的绝对过期时间戳来检查键是否过期。
      • 如果从库判断该键已经过期(根据它自己计算出的绝对时间戳),它会在返回结果之前,将该键视为不存在,从而返回 nil
      • 同时,从库不会主动删除这个键。它只会在读取时判断并返回空结果。实际的删除仍然需要等待:
        • 主库的惰性删除或定期删除触发,然后主库发送 DEL 命令到从库。
        • 或者,当该键在从库上被读取时(触发从库的惰性删除逻辑),从库会删除它并返回 nil。但删除操作不会被传播回主库或其他从库。

总结:

Redis 版本从库读取主库创建且已过期但未删除的键原因
< 3.2返回键的值 (过期数据)从库不检查过期,依赖主库发送 DEL 命令删除。主库未删,从库数据仍在。
>= 3.2返回 nil (或等效空结果)主库同步相对TTL,从库基于自身时钟计算绝对过期时间戳并在读取时检查。如果过期则视作不存在。

重要补充说明:

  1. 主库删除是最终来源: 即使 Redis >= 3.2 的从库在读取时返回了 nil,这个过期的键仍然物理存在于从库内存中,直到主库真正执行删除并同步 DEL 命令,或者该键在从库上被访问触发了惰性删除。
  2. 主从延迟: 在主从复制存在延迟的情况下,主库删除键后发送 DEL 命令到达从库之前,从库可能已经根据本地计算的过期时间戳返回了 nil(>=3.2)或者还在返回过期数据(❤️.2)。复制延迟会加剧短暂的不一致窗口期。
  3. 从库的惰性删除: 当客户端在 Redis >= 3.2 的从库上读取一个它认为已过期的键时,它不仅返回 nil,还会在执行读取操作后,在内部删除这个键(惰性删除)。这是从库本地清理过期键的一种方式。
  4. 一致性考虑: Redis 主从复制默认是最终一致性的。在过期键的处理上,尤其是在存在复制延迟时,不能保证在所有节点上严格同时过期并被删除。Redis 3.2+ 的改进极大地减少了读取到过期数据的可能性,但物理删除的传播仍然依赖主库的删除操作和复制流。

因此,对于现代 Redis 部署(>=3.2),你可以放心,从库在读取一个主库创建且已过期的键时,会返回 nil,避免了返回陈旧数据。 如果你使用的是旧版本,则存在返回过期数据的风险。

http://www.dtcms.com/wzjs/787161.html

相关文章:

  • 网站开发用什么软件西部网站管理助手4.0
  • 长春网站制作最专业学做彩票网站
  • 关于国家对网站建设网络公司经营范围如何填写
  • 网站搭建工作怎么查一个网站是否备案
  • 关于做教育新闻的网站做商城网站的公司
  • 涟源网站建设网站首页素材
  • 网站制作需要学什么语言WordPress缓存规则设置
  • 怎么用优盘做网站登录密钥jsp.ajax网站开发典型实例
  • 宜兴网站制作公司网络推广服务
  • 纺织品做外贸一般在哪个网站上网络系统管理技能大赛linux
  • 网站开发第三方支付互联网有限公司
  • 模板网站制作公司如何做网站赚钱
  • 搭建公司网站的作用wordpress存档
  • nh网站建设高端品牌网站建设图片
  • 科技资讯网站开发大纲可以做视频的一个网站
  • 郴州网站开发公司深圳设计装修公司哪家好
  • 国产网站开发工具公司网站开发需要什么软件
  • 郧阳网站建设可以做app的软件
  • 用c 做网站物业管理系统价格
  • 接外包活去什么平台windows系统优化软件
  • 苏州公司网站设计网店出售
  • 建筑装修设计网站大全图片搜索
  • 云指网站开发vps怎么做多个网站
  • 广州网站建设十年乐云seo世界杯网站开发
  • 邮箱登陆嵌入网站网页设计论文html
  • 广东企业网站模板定制绍兴模板建站代理
  • 北师大 网页制作与网站建设 考试列表网免费发布信息
  • 做我女朋友的套路网站响应式网站模仿
  • 安庆网站开发网页打不开怎么处理
  • 安徽网站建设调查报告江门网页设计