2016-03-02 15:07:24 +01:00
|
|
|
package persistence
|
2016-02-28 06:55:36 +01:00
|
|
|
|
|
|
|
import (
|
|
|
|
"github.com/astaxie/beego"
|
|
|
|
"github.com/siddontang/ledisdb/config"
|
2016-03-02 19:18:39 +01:00
|
|
|
"github.com/siddontang/ledisdb/ledis"
|
|
|
|
"sync"
|
2016-02-28 06:55:36 +01:00
|
|
|
)
|
|
|
|
|
|
|
|
var (
|
2016-02-29 16:04:30 +01:00
|
|
|
_ledisInstance *ledis.Ledis
|
2016-03-02 19:18:39 +01:00
|
|
|
_dbInstance *ledis.DB
|
|
|
|
once sync.Once
|
2016-02-28 06:55:36 +01: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 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-03-02 19:18:39 +01:00
|
|
|
}
|