navidrome/repositories/ledis_utils.go

35 lines
576 B
Go
Raw Normal View History

2016-02-28 06:55:36 +01:00
package repositories
import (
"sync"
"github.com/astaxie/beego"
"github.com/siddontang/ledisdb/ledis"
"github.com/siddontang/ledisdb/config"
)
var (
2016-02-29 16:04:30 +01:00
_ledisInstance *ledis.Ledis
2016-02-28 06:55:36 +01:00
_dbInstance *ledis.DB
once sync.Once
)
func db() *ledis.DB {
once.Do(func() {
config := config.NewConfigDefault()
config.DataDir = beego.AppConfig.String("dbPath")
l, _ := ledis.Open(config)
instance, err := l.Select(0)
if err != nil {
panic(err)
}
2016-02-29 16:04:30 +01:00
_ledisInstance = l
2016-02-28 06:55:36 +01:00
_dbInstance = instance
})
return _dbInstance
2016-02-29 16:04:30 +01:00
}
func dropDb() {
db()
_ledisInstance.FlushAll()
2016-02-28 06:55:36 +01:00
}