首批通过分布式安全可靠测评,为关键业务系统打造
如何理解 Cache 被 pin 住
更新时间:2026-05-08 08:11
本文主要介绍 cache 被 pin 住的含义。
Cache 由多个定长的块组成,每个块称为一个 memblock。每个 memblock 中存放了多个 KV,使用者通过 KV 指针来读取 KV 。 容易理解,在使用指针的过程中,需要保证指针的安全,也即需要 pin 住存放 KV 的 memblock ,保证它不会被释放。cache 内部通过引用计数来实现,cache 每向外吐出一个 KV 指针,都要对 KV 所在的 memblock 的引用计数加 1(即 pin 住这个 memblock),当不再使用 KV 指针时,引用计数减 1。也就是说,当引用计数大于 0 时,说明有人正在读其中的内存,那么这个 memblock 就不能被释放,反之如果等于 0 ,则释放是安全的。 简而言之,如果一个 memblock 被 pin 住,表示它正在被引用,那么它就不能被释放。
适用版本
OceanBase 数据库所有版本。