quintodrome/persistence/ledis_utils.go

35 lines
588 B
Go
Raw Normal View History

2016-03-02 05:07:24 -09:00
package persistence
2016-02-27 20:55:36 -09:00
import (
"github.com/astaxie/beego"
"github.com/siddontang/ledisdb/config"
2016-03-02 09:18:39 -09:00
"github.com/siddontang/ledisdb/ledis"
"sync"
2016-02-27 20:55:36 -09:00
)
var (
2016-02-29 06:04:30 -09:00
_ledisInstance *ledis.Ledis
2016-03-02 09:18:39 -09:00
_dbInstance *ledis.DB
once sync.Once
2016-02-27 20:55:36 -09:00
)
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 06:04:30 -09:00
_ledisInstance = l
2016-02-27 20:55:36 -09:00
_dbInstance = instance
})
return _dbInstance
2016-02-29 06:04:30 -09:00
}
func dropDb() {
db()
_ledisInstance.FlushAll()
2016-03-02 09:18:39 -09:00
}