Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Btree ¶
type Btree struct {
// contains filtered or unexported fields
}
func (*Btree) Put ¶
func (bt *Btree) Put(key []byte, pos *disk.LogRecordPos) *disk.LogRecordPos
type BtreeIterator ¶
type BtreeIterator struct {
// contains filtered or unexported fields
}
BtreeIterator btree 迭代器(对整个内存索引的操作)
func (*BtreeIterator) Close ¶
func (bi *BtreeIterator) Close()
func (*BtreeIterator) Key ¶
func (bi *BtreeIterator) Key() []byte
func (*BtreeIterator) Next ¶
func (bi *BtreeIterator) Next()
func (*BtreeIterator) Rewind ¶
func (bi *BtreeIterator) Rewind()
func (*BtreeIterator) Seek ¶
func (bi *BtreeIterator) Seek(key []byte)
func (*BtreeIterator) Valid ¶
func (bi *BtreeIterator) Valid() bool
func (*BtreeIterator) Value ¶
func (bi *BtreeIterator) Value() *disk.LogRecordPos
type Indexer ¶
type Indexer interface {
// Put 写入内存索引,在磁盘上保存之后得到的位置记录在内存中
Put(key []byte, pos *disk.LogRecordPos) *disk.LogRecordPos
// Get 获取key在磁盘中的位置,这个位置用来读取真正的value
Get(key []byte) *disk.LogRecordPos
// Delete 删除内存索引, 在磁盘上删除之后,内存中的索引也要删除
Delete(key []byte) (*disk.LogRecordPos, bool)
// Size 索引中的数据量
Size() int
// Iterator 索引迭代器
Iterator(reverse bool) Iterator
// Close 关闭索引
Close() error
}
Indexer 索引接口, 内存中索引的定义
type Iterator ¶
type Iterator interface {
// Rewind 重新回到迭代器的起点
Rewind()
// Seek 根据传入的 key 查找到第一个大于(或小于)等于的目标 key,根据从这个 key 开始遍历
Seek(key []byte)
// Next 跳转到下一个 key
Next()
// Valid 是否有效,即是否已经遍历完了所有的 key,用于退出遍历
Valid() bool
// Key 当前遍历位置的
Key() []byte
// Value 当前遍历位置的 Value 数据
Value() *disk.LogRecordPos
// Close 关闭迭代器,释放相应资源
Close()
}
Iterator 索引的迭代器
Click to show internal directories.
Click to hide internal directories.