go内存缓存BigCache源码阅读-BytesQueue 实现

一、介绍
BytesQueue结构,是bigcache真正数据存储的地方。

// BytesQueue is a non-thread safe queue type of fifo based on bytes array.
// BytesQueue 是基于字节数组的非线程安全队列类型的FIFO。
// For every push operation index of entry is returned. It can be used to read the entry later
// 对于每个推送操作索引,都会返回。它可用于稍后阅读条目。
type BytesQueue struct {
    full         bool
    array        []byte // 真正存储数据的地方
    capacity     int    // array 的容量
    maxCapacity  int    // array 可申请的最大容量
    head         int
    tail         int // 下次可以插入 item 的位置
    count        int // 当前插入的 item 数量
    rightMargin  int
    headerBuffer []byte // 插入前做临时 buffer 所用(slice-copy)
    verbose      bool   // 打印 log 开关
}

你可能感兴趣的:(go)