123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113 |
- // Author : Eric Kim
- // Build Date : 23 Jul 2018 Last Update 02 Aug 2018
- // End-Agent for Passcon Multi OS go binding with Windows, MacOS, iOS, and Android
- // All rights are reserved.
- package abango
- import (
- "context"
- "time"
- "github.com/dabory/abango-rest/etc"
- e "github.com/dabory/abango-rest/etc"
- "github.com/go-redis/redis/v8"
- // "github.com/tidwall/buntdb"
- )
- var (
- // MDB *buntdb.DB
- // QDB *buntdb.DB
- RedisCtx = context.Background()
- MDB *redis.Client
- //QDB은 Redis를 도입하면서 통합함.
- QDBOn bool // QDb에서 쿼리 가져옴
- )
- func MdbView(key string) (retval string, reterr error) {
- value, err := MDB.Get(RedisCtx, key).Result()
- if err == redis.Nil {
- reterr = e.LogErr("ASDFQWERCAA", "MDB.View Not Fount in Key: "+key, err)
- } else if err != nil {
- reterr = e.LogErr("ASDFQWERA", "MDB.View Error reading data: "+key, err)
- }
- return value, reterr
- }
- func MdbUpdate(key string, value string) (reterr error) {
- REDIS_EXTIME := 12 * time.Hour
- err := MDB.Set(RedisCtx, key, value, REDIS_EXTIME).Err()
- if err != nil {
- reterr = e.MyErr("QWVGAVAEFV-MDB.Update Error in Key: "+key+" Value: "+value, err, false)
- }
- return nil
- }
- func MdbDelete(key string, value string) (reterr error) {
- _, err := MDB.Del(RedisCtx, "mykey").Result()
- if err != nil {
- reterr = e.MyErr("LJOOHOHIG-MDB.Delete Error in Key: "+key+" Value: "+value, err, false)
- }
- return
- }
- // func QdbView(key string) (retval string, reterr error) {
- // QDB.View(func(tx *buntdb.Tx) error {
- // if value, err := tx.Get(key); err == nil {
- // retval = value
- // reterr = nil
- // } else {
- // retval = ""
- // reterr = errors.New("QDB.View Not Found in Key: " + key)
- // }
- // return nil
- // })
- // return retval, reterr
- // }
- // func QdbUpdate(key string, value string) (reterr error) {
- // QDB.Update(func(tx *buntdb.Tx) error {
- // _, _, err := tx.Set(key, value, nil)
- // if err != nil {
- // reterr = e.MyErr("TKBKUYIH-QDB.Update Error in Key: "+key+" Value: "+value, err, false)
- // }
- // return nil
- // })
- // return nil
- // }
- func GetQryStr(filename string) (string, error) {
- var str string
- var err error
- if QDBOn {
- if str, err = MdbView(filename); err == nil {
- // etc.OkLog("Qry from Memory!!")
- return str, nil
- } else {
- if str, err = e.FileToStrSkip(filename); err == nil {
- if err := MdbUpdate(filename, str); err != nil {
- return "", etc.LogErr("OIUJLJOUJLH", "QdbUpdate Failed ", err)
- }
- // etc.OkLog("Qry from File!!")
- return str, nil
- } else {
- return "", err
- }
- }
- } else {
- if str, err = e.FileToStrSkip(filename); err == nil {
- // etc.OkLog("QRY FILE")
- return str, nil
- } else {
- return "", etc.LogErr("PKOJHKJUY", " File", err)
- }
- }
- }
|