本文整理汇总了Golang中github.com/syndtr/goleveldb/leveldb/opt.Options.BlockCacheCapacity方法的典型用法代码示例。如果您正苦于以下问题:Golang Options.BlockCacheCapacity方法的具体用法?Golang Options.BlockCacheCapacity怎么用?Golang Options.BlockCacheCapacity使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/syndtr/goleveldb/leveldb/opt.Options
的用法示例。
在下文中一共展示了Options.BlockCacheCapacity方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: NewLevelDBStorage
// NewLevelDBStorage is a constructor of DataStorage.
func NewLevelDBStorage(cfg *conf.Config) (*LevelDBStorage, error) {
ds := LevelDBStorage{
cfg: cfg,
dbName: cfg.DatabasePath,
itemCache: make(ItemCache),
tmpItemCache: make(ItemCache),
closed: false,
forceFlushChan: make(chan bool, 1),
flushSync: &sync.WaitGroup{},
}
// LevelDB write options.
opts := new(opt.Options)
opts.Compression = opt.NoCompression
opts.BlockCacheCapacity = 8 * 1024 * 1024
opts.WriteBuffer = 8 * 1024 * 1024
db, err := leveldb.OpenFile(cfg.DatabasePath, opts)
if err != nil {
return nil, err
}
ds.db = db
go ds.periodicCacheFlush()
return &ds, nil
}
示例2: applyConfig
func applyConfig(o *opt.Options, config map[string]interface{}) (
*opt.Options, error) {
ro, ok := config["read_only"].(bool)
if ok {
o.ReadOnly = ro
}
cim, ok := config["create_if_missing"].(bool)
if ok {
o.ErrorIfMissing = !cim
}
eie, ok := config["error_if_exists"].(bool)
if ok {
o.ErrorIfExist = eie
}
wbs, ok := config["write_buffer_size"].(float64)
if ok {
o.WriteBuffer = int(wbs)
}
bs, ok := config["block_size"].(float64)
if ok {
o.BlockSize = int(bs)
}
bri, ok := config["block_restart_interval"].(float64)
if ok {
o.BlockRestartInterval = int(bri)
}
lcc, ok := config["lru_cache_capacity"].(float64)
if ok {
o.BlockCacheCapacity = int(lcc)
}
bfbpk, ok := config["bloom_filter_bits_per_key"].(float64)
if ok {
bf := filter.NewBloomFilter(int(bfbpk))
o.Filter = bf
}
return o, nil
}