Havenask这个问题怎么解决?针对block cache的情况,BlockFileAccessor中的_cachePriority成员是固定值,那么block_cache中lru_cache,设置高低优先级是否必要(lru_lowpri/lru_highpri)?
印象中这个cache分两部分,一部分是hash table,通过key快速找handle,另一部分是一条链表,用来维护最近使用的顺序
取的时候通过hash table找到block,把block的引用计数+1并从链表中挪走(如果还在链表里的话)
用完以后将引用计数-1,最后一个归还减到1的人来把这个block还到链表头。所以如果block有人在用那他一定不会在链表里,在链表里的refs就一定是1。此回答整理自钉群“Havenask开源官方技术交流群”
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。