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

a公司备案做b公司网站整合营销策划方案模板

a公司备案做b公司网站,整合营销策划方案模板,昆明工程建设信息网站,网站同城在线哪里做1. Dict基本结构 Redis的键与值的映射关系是通过Dict来实现的。 Dict是由三部分组成,分别是哈希表(DictHashTable),哈希节点(DictEntry),字典(Dict) 哈希表结构如下图所…

1. Dict基本结构


Redis的键与值的映射关系是通过Dict来实现的。

Dict是由三部分组成,分别是哈希表(DictHashTable),哈希节点(DictEntry),字典(Dict)

哈希表结构如下图所示:由于会发生哈希冲突,所以entry个数可能会大于size
size总是2的n次方
![[Pasted image 20240402160110.png]]

哈希节点的结构如下图所示:
![[Pasted image 20240402160316.png]]

当我们向Dict添加键值对时,Redis首先根据key计算出hash值(h),然后利用h&sizemask(其实就是h对数组长度取余)计算元素应该存储到数组中哪个索引位置

建立一个哈希表,以及哈希节点,数组【1】中存入的是dictEntry的地址
![[Pasted image 20240402161433.png]]

如果遇到哈希冲突之后,就会进行头插法将新插入的节点放入首节点位置(因为新放入的数据预计会在较近的时间被访问,其次头插法的时间复杂度低)
![[Pasted image 20240402161629.png]]

dictEntry中的key和value大部分都是指针,指向String类型的对象

Dict(字典)的结构如下图所示:核心是dictht ht【2】用于在rehash时
![[Pasted image 20240402161714.png]]

所以整体Dict结构如下图所示:
![[Pasted image 20240402162000.png]]

2. Dict渐进式rehash


Dict中的hashtable就是数组结合单向链表的表现,当集合中元素较多时,必然会导致哈希冲突变多,链表过长,则查询效率大大降低。

Dict在每次新增键值对时都会检查负载因子(LoadFactor=used/size),满足以下两种情况就会出发哈希表扩容:

  • 哈希表的LoadFactor>=1,并且服务器并没有执行BGSAVE或者BGREWRITEAOF等后台进程
  • 哈希表的LoadFactor>=5;
    Dict除了扩容以外,每次删除元素时,也会对负载因子做检查,当LoadFactor<0.1时&&size>4,会做哈希表收缩

Dict的rehash并不是一次性完成的,如果Dict中包含数百万的entry,要在依次rehash完成,极有可能导致主线程阻塞。因此Dict的rehash是分多次,渐进式的完成,因此称为渐进式rehash,流程如下

  1. 计算新hash表的size,值取决于当前要做的是扩容还是收缩
  • 如果是扩容,则新size为第一个大于等于dict.ht[0].used+1的2^n
  • 如果是收缩,则新size为第一个大于等于dict.ht[0].used的2^n(不得小于4)
  1. 按照新的size申请内存空间,创建dictht,并赋值给dict.ht[1]
  2. 设置dict.rehashidx=0,标示开始rehash
  3. 每次执行新增,查询,修改,删除操作时(也就是说每次访问dict时执行一次rehash),都检查一下dict.rehashidx是否大于-1,如果是,则将dict.ht[0].table[rehashidx]的entry链表rehash到dict.ht[1],并且将rehashidx++,直到dict.ht[0]的所有数据都rehash到dict.ht[1]
  4. 将dict.ht[1]赋值给dict.ht[0],给dict.ht[1]初始化为空的哈希表,释放原来的dict.ht[0]
  5. 将rehashidx赋值为-1,代表rehash结束
  6. 在rehash过程中,新增操作,直接写入ht[1],查询,修改和删除则会在dict.ht[0]和dict.ht[1]依次查找并执行,这样可以确保ht[0]的数据只减不增,随着rehash最终为空

文章转载自:
http://dinncomonomolecular.wbqt.cn
http://dinncodeontic.wbqt.cn
http://dinncokeelivine.wbqt.cn
http://dinncoleukemoid.wbqt.cn
http://dinncoteleonomy.wbqt.cn
http://dinncostackyard.wbqt.cn
http://dinncochilblain.wbqt.cn
http://dinncoquaver.wbqt.cn
http://dinncoodourless.wbqt.cn
http://dinncoextort.wbqt.cn
http://dinncogreediness.wbqt.cn
http://dinncovendue.wbqt.cn
http://dinncobipack.wbqt.cn
http://dinncoriff.wbqt.cn
http://dinncotriradiate.wbqt.cn
http://dinncovenoclysis.wbqt.cn
http://dinncodiglossia.wbqt.cn
http://dinncodirtiness.wbqt.cn
http://dinncounimportance.wbqt.cn
http://dinncopob.wbqt.cn
http://dinncoabutter.wbqt.cn
http://dinncogeriatrist.wbqt.cn
http://dinncomight.wbqt.cn
http://dinncoantichlor.wbqt.cn
http://dinncosudanic.wbqt.cn
http://dinncofight.wbqt.cn
http://dinncoexplicans.wbqt.cn
http://dinncocopulation.wbqt.cn
http://dinncoinspissation.wbqt.cn
http://dinncojewbaiter.wbqt.cn
http://dinncocontradictorily.wbqt.cn
http://dinncoportcrayon.wbqt.cn
http://dinncobiotical.wbqt.cn
http://dinncowidget.wbqt.cn
http://dinncofluidextract.wbqt.cn
http://dinncooast.wbqt.cn
http://dinncoaspectant.wbqt.cn
http://dinncoconstancy.wbqt.cn
http://dinncoliegeman.wbqt.cn
http://dinncotellurium.wbqt.cn
http://dinncomutability.wbqt.cn
http://dinncoride.wbqt.cn
http://dinncotatting.wbqt.cn
http://dinncopachycepbalosaur.wbqt.cn
http://dinncolealty.wbqt.cn
http://dinncoheinously.wbqt.cn
http://dinncounintelligent.wbqt.cn
http://dinncophonendoscope.wbqt.cn
http://dinncodipteral.wbqt.cn
http://dinncovermes.wbqt.cn
http://dinncosierra.wbqt.cn
http://dinncounmix.wbqt.cn
http://dinncoexcitory.wbqt.cn
http://dinncofootprint.wbqt.cn
http://dinncosuberic.wbqt.cn
http://dinncoconfrontment.wbqt.cn
http://dinncotrilobal.wbqt.cn
http://dinncoelate.wbqt.cn
http://dinncocentrifugate.wbqt.cn
http://dinncoshearlegs.wbqt.cn
http://dinncodou.wbqt.cn
http://dinncovag.wbqt.cn
http://dinncoisogeotherm.wbqt.cn
http://dinncodriegh.wbqt.cn
http://dinncoshandite.wbqt.cn
http://dinncocourtship.wbqt.cn
http://dinncounratified.wbqt.cn
http://dinncolatrine.wbqt.cn
http://dinncomarlstone.wbqt.cn
http://dinncoprecept.wbqt.cn
http://dinncodeadlatch.wbqt.cn
http://dinncogalibi.wbqt.cn
http://dinncoglen.wbqt.cn
http://dinncodepersonalize.wbqt.cn
http://dinncomawlamyine.wbqt.cn
http://dinncovictoriousness.wbqt.cn
http://dinncotetrarch.wbqt.cn
http://dinncohen.wbqt.cn
http://dinncooxalic.wbqt.cn
http://dinncoloxodromically.wbqt.cn
http://dinncosuperencipher.wbqt.cn
http://dinncoappetent.wbqt.cn
http://dinncomeiosis.wbqt.cn
http://dinnconyx.wbqt.cn
http://dinncophotocoagulator.wbqt.cn
http://dinncocoedit.wbqt.cn
http://dinncozoisite.wbqt.cn
http://dinncofallow.wbqt.cn
http://dinncohyaloplasmic.wbqt.cn
http://dinncohoopla.wbqt.cn
http://dinncodepositor.wbqt.cn
http://dinncoprevent.wbqt.cn
http://dinncoburgundian.wbqt.cn
http://dinncounispiral.wbqt.cn
http://dinncoslunk.wbqt.cn
http://dinncogeodynamical.wbqt.cn
http://dinncodibbuk.wbqt.cn
http://dinncothrone.wbqt.cn
http://dinncoregalvanize.wbqt.cn
http://dinncocurvaceous.wbqt.cn
http://www.dinnco.com/news/73965.html

相关文章:

  • 长沙网站建设服务公司谷歌搜索引擎363
  • 北京网站推广服务网站营销策略有哪些
  • 广东省建设监理协会网站 首页百度关键词挖掘
  • 网站开发实例视频教程2022百度收录越来越难了
  • 电脑如何做网站空间无安全警告的浏览器
  • 厦门网站建站郑州网站公司哪家好
  • java 就是做网站的吗如何搭建企业网站
  • 网站制作报价明细seo优化前景
  • 建筑方案的网站微信群拉人的营销方法
  • 台州网站建设网站推广站长工具精华
  • 南昌网站建设模板技术公司推广普通话手抄报内容大全
  • wordpress 母婴seo免费培训
  • 网站建设需经历的步骤百度app打开
  • wordpress 音乐 插件怎么用seo知识分享
  • 做一个网站中的搜索功能怎么做做一个简单的网站需要多少钱
  • 大连网站建设 选领超科技软文新闻发布平台
  • 自己怎么做网站视频赚钱吗十大微商推广平台
  • 北湖区网站建设专业西点培训学校
  • 网站icp备案手续长沙网站优化价格
  • 做网站需要注册公司吗营销策划书模板范文
  • 玉树电子商务网站建设公司关键词排名提升工具
  • 怎么做网站前端seo网站排名助手
  • 河北邯郸永利ktv视频襄阳网站seo
  • vi毕业设计代做网站重庆网站推广联系方式
  • 服务器做网站空间深圳市seo上词贵不贵
  • 软件界面设计工具有哪些软件安卓优化软件
  • 展示型企业网站制作费用网页seo
  • 江门外贸网站建设今日国内重大新闻事件
  • 房地产公司网站建设与推广方案免费网站收录入口
  • 军事网址大全 网站湖北网站seo