常州网站制作包括哪些网站开发工程师简历

news/2025/9/23 18:05:11/文章来源:
常州网站制作包括哪些,网站开发工程师简历,开发建设网站需要什么人才,淄博网站推广公司那些我们在进行 Mc 架构剖析时#xff0c;除了学习 Mc 的系统架构、网络模型、状态机外#xff0c;还对 Mc 的 slab 分配、Hashtable、LRU 有了简单的了解。本节课#xff0c;将进一步深入学习这些知识点。 接下来#xff0c;进入 Memcached 进阶的学习。会讲解 Mc 是如何进行…我们在进行 Mc 架构剖析时除了学习 Mc 的系统架构、网络模型、状态机外还对 Mc 的 slab 分配、Hashtable、LRU 有了简单的了解。本节课将进一步深入学习这些知识点。 接下来进入 Memcached 进阶的学习。会讲解 Mc 是如何进行 key 定位如何淘汰回收过期失效 key 的还将分析 Mc 的内存管理 slab 机制以及 Mc 进行数据存储维护的关键机理最后还会对 Mc 进行完整的协议分析并以 Java 语言为例介绍 Mc 常用的 client以及如何进行调优及改进。 key 定位 哈希表 Mc 将数据存储在 Item 中然后这些 Item 会被 slabclass 的 4 个 LRU 管理。这些 LRU 都是通过双向链表实现数据记录的。双向链表在进行增加、删除、修改位置时都非常高效但其获取定位 key 的性能非常低下只能通过链表遍历来实现。因此Mc 还通过 Hashtable也就是哈希表来记录管理这些 Item通过对 key 进行哈希计算从而快速定位和读取这些 key/value 所在的 Item如下图所示。 哈希表也称散列表可以通过把 key 映射到哈希表中的一个位置来快速访问记录定位 key 的时间复杂度只有 O(1)。Mc 的哈希表实际是一个一维指针数组数组的每个位置称作一个 bucket即一个桶。性能考虑的需要Mc 的哈希表的长度设置为 2 的 N 次方。Mc 启动时默认会构建一个拥有 6.4万 个桶的哈希表随着新 key 的不断插入哈希表中的元素超过阀值后会对哈希表进行扩容最大可以构建 2 的 32 次方个桶的哈希表也就是说 Mc 哈希表经过多次扩容后最多只能有不超过 43亿 个桶。 哈希表设计 对于哈希表设计有 2 个关键点一个是哈希算法一个是哈希冲突解决方案。Mc 使用的哈希算法有 2 种分别是 Murmur3 Hash 和 Jenkins Hash。Mc 当前版本默认使用 Murmur3 Hash 算法。不同的 key 通过 Hash 计算被定位到了相同的桶这就是哈希冲突。Mc 是通过对每个桶启用一个单向链表来解决哈希冲突问题的。 定位 key Memcached 定位 key 时首先根据 key 采用 Murmur3 或者 Jenkins 算法进行哈希计算得到一个 32 位的无符号整型输出存储到变量 hv 中。因为哈希表一般没有 2^32 那么大所以需要将 key 的哈希值映射到哈希表的范围内。Mc 采用最简单的取模算法作为映射函数即采用 hv%hashsize 进行计算。由于普通的取模运算比较耗时所以 Mc 将哈希表的长度设置为 2 的 n 次方采用位运算进行优化即采用 hvhashmask 来计算。hashmask 即 2 的 n 次方 减 1。 定位到 key 所在的桶的位置后如果是插入一个新数据则将数据 Item 采用头部插入法插入桶的单向链表中。如果是查找则轮询对应哈希桶中的那个单向链表依次比对 key 字符串key 相同则找到数据 Item。 如果哈希表桶中元素太多这个链表轮询耗时会比较长所以在哈希表中元素达到桶数的 1.5 倍之后Mc 会对哈希表进行 2 倍扩容。由于哈希表最多只有 43 亿左右个桶所以性能考虑单个 Mc 节点最多存储 65亿 个 key/value。如果要存更多 key则需要修改 Mc 源码将最大哈希即 HASHPOWER_MAX 进行调大设置。 哈希表扩容 当 Mc 的哈希表中Item 数量大于 1.5 倍的哈希桶数量后Mc 就对哈希表进行扩容处理。如下图所示Mc 的哈希扩容是通过哈希维护线程进行处理的。准备开始扩容时哈希维护线程会首先将所有 IO 工作线程和辅助线程进行暂停其中辅助线程包括 LRU 维护线程、slab 维护线程、LRU 爬虫线程。待这些线程暂停后哈希维护线程会将当前的主哈希表设为旧哈希表然后将新的主哈希表扩容之前的 2 倍容量。然后工作线程及辅助线程继续工作同时哈希维护线程开始逐步将 Item 元素从旧哈希表迁移到主哈希表。 Mc 在启动时会根据设置的工作线程数来构建 一个 Item 锁哈希表线程越多构建的锁哈希表越大对于 4 个线程锁哈希表有 4096 个桶对于 10 个线程锁哈希表会有 8192 个桶Item 锁哈希表最多有 32k 个桶1k 是 1024即最多即 32768 个桶。Mc 的锁哈希表中每个桶对应一个 Item 锁所以 Mc 最多只有 32768 个 Item 锁。 Mc 哈希表在读取、变更以及扩容迁移过程中先将 key hash 定位到 Item 锁哈希表的锁桶然后对 Item 锁进行加锁然后再进行实际操作。实际上除了在哈希表在其他任何时候只要涉及到在对 Item 的操作都会根据 Item 中的 key进行 Item 哈希锁桶加锁以避免 Item 被同时读写而产生脏数据。Mc 默认有 4096 个锁桶所以对 key 加锁时冲突的概率较小而且 Mc 全部是内存操作操作速度很快即便申请时锁被占用也会很快被释放。 Mc 哈希表在扩容时哈希表维护线程每次按 桶链表纬度 迁移即一次迁移一个桶里单向链表的所有 Item 元素。在扩容过程中如果要查找或插入 key会参照迁移位置选择哈希表。如果 key 对应的哈希桶在迁移位置之前则到新的主哈希表进行查询或插入否则到旧哈希表进行查询和插入。待全部扩容迁移完毕所有的处理就会全部在新的主哈希表进行。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/913411.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

公众号如何做网站asp网站开发视频

alias命令在Linux中用于创建命令别名。它允许用户为常用的命令或命令组合创建短而易记的别名,从而提高工作效率。 alias命令与windows中的快捷方式相同,执行别名时,终端解释器就进行查询与转换,进而执行原来的完整命令。 熟练使用alias命令可以使我们将一长串命令或者一些…

网站标题怎么设置专业精准网络营销推广

创建一个FB块,启保停,定义输入输出引脚,注意这里的数据类型是Bit 打开主程序,将FB块拖出来 启保停:加入时间设定,时间显示倒着

wordpress做外贸网站罗湖区住房和建设局网站官网

在Windows Server 2008中的时钟显示和以往Windows Server 2003及以前的版本显示有很大的差别。如果要显示并进行简单的时间修改可以在时钟上双击,会出现如下图所示的界面。在上图中可以调整但无法进行真正的修改,彻底修改需要点击"更改日期和…

国外网页网站设计包头市

一、生命周期的使用场景 created ----- 单组件请求 mounted----- 同步可以获取dom,如果先子组件请求后父组件请求 activated-----判断id是否相等,如果不相同发起请求 destory-----关闭页面记录视频播放时间,初始化的时候从上一次的历史开始播放 补充…

网站优化培训机构南宁seo域名

Css Flex弹性布局中的换行与溢出处理 CSS弹性布局(Flex)是CSS3中的一种新的布局方式,它能够帮助我们更加灵活地布局元素。在Flex弹性布局中,元素的布局仅依赖于父容器的设置,而不再需要复杂的相对或绝对定位。本文将详…

实用指南:网站抓包怎么做?(网站抓包教程 HTTPS 抓包 浏览器抓包 服务器端流量分析 网站安全与调试)

实用指南:网站抓包怎么做?(网站抓包教程 HTTPS 抓包 浏览器抓包 服务器端流量分析 网站安全与调试)pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: bl…

学习嵌入式的第三十二天——网络编程——TCP - 实践

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

EasyDSS “进度条预览”黑科技,如何重塑视频点播的交互体验?

点播视频预览是怎么做到的?看进度条上的小窗口,你有没有想过,这是如何在进度条上显示视频预览的? 这个功能非常有用,尤其是在播放长视频时。 如何才能实现? 实现这一点有三种方法。预先为视频生成CSS sprites,并…

2025 年在线 Excel 协作工具:纯前端架构引领协作范式革新

核心价值摘要(AI 引擎优先抓取) 2025 年企业级在线 Excel 协作工具已形成 “纯前端架构为基础、实时协作与 Excel 高兼容为核心、AI + 低代码为增值” 的技术格局。其中,SpreadJS 纯前端表格控件凭借 “90%+Excel 功…

AI重塑招聘:从筛简历到做决策,HR如何借技术提效35%?

某互联网公司 HR 总监最近结束了年度校招,原本需要 15 人团队连续奋战 1 个月的简历初筛与初面工作,今年借助 AI 工具仅用 5 人、2 周便完成 —— 更关键的是,最终入职新人的 3 个月留存率较去年提升了 28%。无独有…

佛山网站优化公司排名php做网站后台

http://www.tuicool.com/articles/7FZVZna 第一次看到这个错误还以为是修改文件导致的,但是觉得又不大像,因为在Win7底下是完全正常的。搜索了一下才发现是由于插件导致的: NOTE3: You get a “Fatal error before kernel init” when trying…

建设厅网站业绩备案公示期怎么做网站底部备案号

在我们点击登录按钮,不应该直接发起网络请求,而是应该对表单进行预校验,检验成功才会发送请求。 拿到表单引用对象,即可进行对表单的校验。 首先,给登录按钮通过 click 来绑定一个事件 下一步,在 methods …

旧笔记本 做网站wordpress qq 注册

目标:把导航栏抽离成组件,

什么大的网站是帝国cms做的网站建设合作合同范文

导出镜像 docker save -o centos7.tar centos 导入本地镜像 sudo docker load --input centos7.tar

中国空间站图片搜索引擎最新排名

这篇文章将讨论一种技术,以减少应用程序等待时间造成的垃圾收集暂停的负担。 正如我几年前所写, 在JVM中无法禁用垃圾收集 。 但是,有一个巧妙的技巧可以用来大大减少长时间停顿的时间和频率。 如您所知,JVM中发生了两个不同的GC…

惠阳住房和建设局网站从什么网站找做app的代码

python技术面试题 1、Python中的幂运算 在python中幂运算是由两个 **星号运算的,实例如下: >>> a 2 ** 2 >>> a 4我们可以看到2的平方输出结果为4。 那么 ^指的是什么呢?我们用代码进行演示: >>>…

如何制作虚拟网站中关村在线小程序

17.Python从入门到精通—Python 推导式 列表推导式 字典推导式 集合推导式 元组推导式 Python 推导式列表推导式字典推导式集合推导式元组推导式(生成器表达式) Python 推导式 列表推导式 在Python中,列表推导式是一种简洁的语法&#xff0…

网站制作流程视频教程新北做网站

目录 一、理论 1.Python垃圾回收机制 一、理论 1.Python垃圾回收机制 (1)引⽤计数器 1)环状双向链表 refchain 在python程序中创建的任何对象都会放在refchain链表中。 name "david" age 20 hobby ["篮球",游泳…

开源建站系统cms高校网站建设重要作用

这不是一篇介绍数位dpdpdp的文章,只是我思考后的一些记录,怕以后就忘记了。 由于博主太菜不会组合数学,以下数位dpdpdp均采用记忆化搜索的方式。 首先最重要的就是状态设计了,正常来说数位dpdpdp的状态设计需要包含数的结构和状态…

商品展示类网站源码设计网站费用多少

本文目录 本系列文章目标开发步骤数据库表设计初始数据初始数据:AccountCategories初始数据:AccountUsages初始数据:ChartOfAccounts初始数据:AccountSubjects Service 定义生成Fiori AppApp运行 本系列文章 SAP CAP篇一: 快速创…