1
0
forked from tcp.direct/tcp.ac
tcp.ac/db.go

29 lines
589 B
Go
Raw Normal View History

2021-02-15 20:52:35 +00:00
package main
import (
2022-07-07 19:41:38 +00:00
"git.tcp.direct/tcp.direct/database/bitcask"
2022-07-08 20:23:20 +00:00
"git.tcp.direct/tcp.direct/tcp.ac/config"
2021-02-15 20:52:35 +00:00
)
2022-01-21 12:58:22 +00:00
var stores = []string{"hsh", "key", "img", "txt", "url"}
var megabyte = float64(1024 * 1024)
2021-02-15 20:52:35 +00:00
2022-01-21 12:58:22 +00:00
var db *bitcask.DB
2021-02-15 20:52:35 +00:00
2022-07-08 20:23:20 +00:00
func init() {
bitcask.SetDefaultBitcaskOptions(
bitcask.WithMaxKeySize(uint32(config.KVMaxKeySizeMB*int(megabyte))),
bitcask.WithMaxValueSize(uint64(config.KVMaxValueSizeMB*int(megabyte))),
)
}
2022-01-21 12:58:22 +00:00
func dbInit() error {
2022-07-08 20:23:20 +00:00
db = bitcask.OpenDB(config.DBDir)
2022-01-21 12:58:22 +00:00
for _, st := range stores {
2022-07-08 20:23:20 +00:00
if err := db.Init(st); err != nil {
2022-01-21 12:58:22 +00:00
return err
}
}
return nil
}