开发者社区> 问答> 正文

Havenask这个问题怎么解决?

Havenask这个问题怎么解决?针对block cache的情况,BlockFileAccessor中的_cachePriority成员是固定值,那么block_cache中lru_cache,设置高低优先级是否必要(lru_lowpri/lru_highpri)?

展开
收起
三分钟热度的鱼 2024-06-12 21:29:45 47 0
1 条回答
写回答
取消 提交回答
  • 印象中这个cache分两部分,一部分是hash table,通过key快速找handle,另一部分是一条链表,用来维护最近使用的顺序
    取的时候通过hash table找到block,把block的引用计数+1并从链表中挪走(如果还在链表里的话)
    用完以后将引用计数-1,最后一个归还减到1的人来把这个block还到链表头。所以如果block有人在用那他一定不会在链表里,在链表里的refs就一定是1。此回答整理自钉群“Havenask开源官方技术交流群”

    2024-06-12 22:43:07
    赞同 2 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载