1 Star 0 Fork 1

NIGHTFIGHTING / simple-go-kv

forked from 木木南 / simple-go-kv 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
options.go 1.06 KB
一键复制 编辑 原始数据 按行查看 历史
木木南 提交于 2023-04-16 14:52 . 简单的事务(WriteBatch操作)
package simple_bitcask_kv
import (
"os"
"path/filepath"
"simple_bitcask_kv/index"
)
// Options 一些用户配置DB的选项
type Options struct {
DirPath string // 数据库数据存放目录
DataFileMaxSize int64 // 单个数据文件大小上限(超过就要切换新文件)
SyncWrites bool // 是否每次写入都持久化
IndexType index.IndexType
}
// IteratorOptions 数据库迭代器配置选项
type IteratorOptions struct {
Prefix []byte // 遍历前缀指定的key
Reverse bool
}
// WriteBatchOptions 数据库原子写入配置选项
type WriteBatchOptions struct {
MaxBatchNum int // 一个批次最大数据量
SyncWrites bool // 是否提交事务后立刻持久化
}
var DefaultOptions = Options{
DirPath: filepath.Join(os.TempDir(), "simple-kv"),
DataFileMaxSize: 256 * 1024 * 1024, // 256MB
SyncWrites: false,
IndexType: index.Btree,
}
var DefaultIteratorOptions = IteratorOptions{
Prefix: nil,
Reverse: false,
}
var DefaultWBOptions = WriteBatchOptions{
MaxBatchNum: 1000,
SyncWrites: false,
}
1
https://gitee.com/NIGHTFIGHTING/simple-go-kv.git
git@gitee.com:NIGHTFIGHTING/simple-go-kv.git
NIGHTFIGHTING
simple-go-kv
simple-go-kv
master

搜索帮助