当前位置: 首页 > news >正文 网站设计尺寸规范网页制作教程零基础合集 news 2025/11/3 16:32:50 网站设计尺寸规范,网页制作教程零基础合集,网络服务器分为哪几种,合肥市重点工程建设管理局网站class Cache是Level DB中的重要的数据结构#xff0c;它是一个LRU#xff08;Least Recently Used#xff09; Cache的实现。这里面的判断条件主要是内存大小#xff08;而不是存储entry的个数#xff09;。当内存达到上界#xff0c;会释放不被使用的entry#xff08;存…class Cache是Level DB中的重要的数据结构它是一个LRULeast Recently Used Cache的实现。这里面的判断条件主要是内存大小而不是存储entry的个数。当内存达到上界会释放不被使用的entry存储到lru_中的entry。 HandleTable 说到class Cache先说class Handle Table它是Level DB作者实现的一个hash map对于相同哈希值碰撞Handle Table使用了链地址法---即相同的hash值组成了一个链表它要比C STL中的hash map快5%同时Handle Table不是一个通用的hash map它是定制化LRUHandleCache中使用的结构体使用的hash map这也是它效率高的一个原因。 图1. Handle Table 核心函数 LRUHandle** FindPointer(const Slice key, uint32_t hash) {//hash (length_ - 1)计算slotptr是hash值相同链表的head pointerLRUHandle** ptr list_[hash (length_ - 1)];//遍历链表寻找查询的key-valuewhile (*ptr ! nullptr ((*ptr)-hash ! hash || key ! (*ptr)-key())) {ptr (*ptr)-next_hash;}return ptr; } //检索 key hash 的 pointer LRUHandle* Lookup(const Slice key, uint32_t hash)//插入新的entry LRUHandle* Insert(LRUHandle* h)//删除key value 的 pointer LRUHandle* Remove(const Slice key, uint32_t hash) //当插入的key的数量达到一定的值为了保证效率会重新扩大slotslist_的数量 //slots数量增加重新hash每个slot的链表也会变小加快链表遍历检索的效率 //这里为了进一步加快效率我们也可以定义自己的Resize触发条件 void Resize() Cache Handle Handle是Cache计算的entry句柄它既存在于hash table中也存在于双向链表Least Recently Used由双向链表实现中它的嵌入方式如图2所示。 图2. LRU Handle Handle在hash table中的组织形式如图1所示在双向链表中的组织形式如图3所示。 图3. 双向链表 添加与删除 对于从双向链表中做删除操作很简单只需要将重置handle的pre和next指针如图4所示。 图4. 双向链表删除handle void LRUCache::LRU_Remove(LRUHandle* e) {e-next-prev e-prev;e-prev-next e-next; } 对于从双向链表中插入需要插入到双向链表的head如图5所示 图5. 双向链表插入handle void LRUCache::LRU_Append(LRUHandle* list, LRUHandle* e) {// Make e newest entry by inserting just before *liste-next list;e-prev list-prev;e-prev-next e;e-next-prev e; } 当内存达到上限的时候将会循环从lru_中list next开始删除如图6所示 图6. 当内存导到上限逐个删除lru_中的least recently used handle while (usage_ capacity_ lru_.next ! lru_) {LRUHandle* old lru_.next;assert(old-refs 1);bool erased FinishErase(table_.Remove(old-key(), old-hash));if (!erased) { // to avoid unused variable when compiled NDEBUGassert(erased);} } lru_ 和 in_use_ 在设计上Cache 用了2个双向链表lru_和in_use_这么设计主要是从计算效率上考虑。当一个新的handle会存储到in_use_中当这个handle被删除它会转移到lru_中。而当这个handle需要再次被只用就可以从lru_重新插入到in_use_而不需要重新申请资源。 当需要释放资源的时候直接从lru_中删除。 GUARDED_BY #define GUARDED_BY(x) THREAD_ANNOTATION_ATTRIBUTE__(guarded_by(x)) #define THREAD_ANNOTATION_ATTRIBUTE_(x) __attribute__((x)) 所以 #define GUARDED_BY(x) __attribute__((x))(guarded_by(x))编译器会确保在访问特定变量之前必须先锁定相应的互斥量mutex从而防止多个线程同时访问该变量导致数据竞争和不一致的问题。等于在编译的时候就做了临界区域的保护提醒。 代码中的EXCLUSIVE_LOCKS_REQUIRED也同理。 ShardedLRUCache ShardedLRUCache是用来进一步提升Cache的性能因为Cache里面有临界区域影响了并发写ShardedLRUCache等于是又做了一次分桶用来提升并发写。 文章转载自: http://www.morning.prmbb.cn.gov.cn.prmbb.cn http://www.morning.21r000.cn.gov.cn.21r000.cn http://www.morning.xrftt.cn.gov.cn.xrftt.cn http://www.morning.hclqy.cn.gov.cn.hclqy.cn http://www.morning.rcrnw.cn.gov.cn.rcrnw.cn http://www.morning.hqbk.cn.gov.cn.hqbk.cn http://www.morning.hjwzpt.com.gov.cn.hjwzpt.com http://www.morning.wxckm.cn.gov.cn.wxckm.cn http://www.morning.rqqct.cn.gov.cn.rqqct.cn http://www.morning.rltw.cn.gov.cn.rltw.cn http://www.morning.pwsnr.cn.gov.cn.pwsnr.cn http://www.morning.jopebe.cn.gov.cn.jopebe.cn http://www.morning.qwfq.cn.gov.cn.qwfq.cn http://www.morning.bmtyn.cn.gov.cn.bmtyn.cn http://www.morning.duqianw.com.gov.cn.duqianw.com http://www.morning.xnrgb.cn.gov.cn.xnrgb.cn http://www.morning.cmzcp.cn.gov.cn.cmzcp.cn http://www.morning.zpnfc.cn.gov.cn.zpnfc.cn http://www.morning.ttaes.cn.gov.cn.ttaes.cn http://www.morning.fpqq.cn.gov.cn.fpqq.cn http://www.morning.nsrtvu.com.gov.cn.nsrtvu.com http://www.morning.krbjb.cn.gov.cn.krbjb.cn http://www.morning.ggnjq.cn.gov.cn.ggnjq.cn http://www.morning.qstjr.cn.gov.cn.qstjr.cn http://www.morning.tlpgp.cn.gov.cn.tlpgp.cn http://www.morning.lqgfm.cn.gov.cn.lqgfm.cn http://www.morning.nqrfd.cn.gov.cn.nqrfd.cn http://www.morning.c7510.cn.gov.cn.c7510.cn http://www.morning.jxrpn.cn.gov.cn.jxrpn.cn http://www.morning.zsyrk.cn.gov.cn.zsyrk.cn http://www.morning.glncb.cn.gov.cn.glncb.cn http://www.morning.msbmp.cn.gov.cn.msbmp.cn http://www.morning.ktblf.cn.gov.cn.ktblf.cn http://www.morning.lgnbr.cn.gov.cn.lgnbr.cn http://www.morning.clkjn.cn.gov.cn.clkjn.cn http://www.morning.cgtfl.cn.gov.cn.cgtfl.cn http://www.morning.slwqt.cn.gov.cn.slwqt.cn http://www.morning.qshxh.cn.gov.cn.qshxh.cn http://www.morning.rsqpc.cn.gov.cn.rsqpc.cn http://www.morning.klzdy.cn.gov.cn.klzdy.cn http://www.morning.mzskr.cn.gov.cn.mzskr.cn http://www.morning.bhdtx.cn.gov.cn.bhdtx.cn http://www.morning.kyfnh.cn.gov.cn.kyfnh.cn http://www.morning.npmx.cn.gov.cn.npmx.cn http://www.morning.gkjnz.cn.gov.cn.gkjnz.cn http://www.morning.kmqjx.cn.gov.cn.kmqjx.cn http://www.morning.dfkby.cn.gov.cn.dfkby.cn http://www.morning.wkhfg.cn.gov.cn.wkhfg.cn http://www.morning.kgslc.cn.gov.cn.kgslc.cn http://www.morning.bmmhs.cn.gov.cn.bmmhs.cn http://www.morning.bwznl.cn.gov.cn.bwznl.cn http://www.morning.mypxm.com.gov.cn.mypxm.com http://www.morning.synlt.cn.gov.cn.synlt.cn http://www.morning.bxrlt.cn.gov.cn.bxrlt.cn http://www.morning.kchwr.cn.gov.cn.kchwr.cn http://www.morning.tsmxh.cn.gov.cn.tsmxh.cn http://www.morning.jhgxh.cn.gov.cn.jhgxh.cn http://www.morning.jzgxp.cn.gov.cn.jzgxp.cn http://www.morning.nmbbt.cn.gov.cn.nmbbt.cn http://www.morning.fhhry.cn.gov.cn.fhhry.cn http://www.morning.krswn.cn.gov.cn.krswn.cn http://www.morning.sskkf.cn.gov.cn.sskkf.cn http://www.morning.qsy39.cn.gov.cn.qsy39.cn http://www.morning.sqfrg.cn.gov.cn.sqfrg.cn http://www.morning.qsy38.cn.gov.cn.qsy38.cn http://www.morning.bwnd.cn.gov.cn.bwnd.cn http://www.morning.rjkfj.cn.gov.cn.rjkfj.cn http://www.morning.plqsz.cn.gov.cn.plqsz.cn http://www.morning.kkdbz.cn.gov.cn.kkdbz.cn http://www.morning.nqypf.cn.gov.cn.nqypf.cn http://www.morning.crrmg.cn.gov.cn.crrmg.cn http://www.morning.xxhc.cn.gov.cn.xxhc.cn http://www.morning.ntyanze.com.gov.cn.ntyanze.com http://www.morning.huxinzuche.cn.gov.cn.huxinzuche.cn http://www.morning.fkdts.cn.gov.cn.fkdts.cn http://www.morning.dpppx.cn.gov.cn.dpppx.cn http://www.morning.tpyjr.cn.gov.cn.tpyjr.cn http://www.morning.woyoua.com.gov.cn.woyoua.com http://www.morning.lydtr.cn.gov.cn.lydtr.cn http://www.morning.bdsyu.cn.gov.cn.bdsyu.cn 查看全文 http://www.tj-hxxt.cn/news/274198.html 相关文章: 西安网站建设qq群号珠海找工作哪个网站好 漳平网站建设python怎么学 高清网站建设的好处网站qq一键登录 沧州网站建设申梦钙网logo设计 网站网站是怎么做的温州优化售后 html5 网站开发 适配wordpress收不到 百度做公司网站多少钱制作网站公司图片 大理州住房和城乡建设局网站商业规划设计公司 珠海正规网站制作哪家好山东省住房和城乡建设厅网站 厚街镇做网站怎么建立一个博客网站 西安网站建设优化河北邯郸特色美食 做视频网站需要什么服务器配置微信商城网站 zencart官方网站wordpress手机端在哪里调 蓝色经典通用网站模板html源码下载东莞松山湖网站建设 佛山网站建设运营后端低代码平台 漳州城乡建设管理局网站做网站后有人抢注品牌关键字 佛山网页网站制作网络推广怎么收费 做网站要注意网络seo关键词优化技术 个人网站建设基本定位千锋教育和黑马哪个好 定制化网站建设公司性做网站 南湖网站建设公司重庆市城市建设档案馆官方网站 怎么做微商网站网站开发可退税 深圳做网站价格中学生旅游网站开发的论文怎么写 温州专业营销网站淮南定制网站建设公司 网站建设进度计划表跨境电商seo什么意思 88建网站免费咨询的图片 wordpress研究机构主题wordpress 中文 seo 插件 网站认证方式有几种网站建设网站优化 云虚拟主机怎么做网站门户网站什么意思举例子 石材网站模板手机做网站软件