package memory import ( "github.com/allegro/bigcache" "github.com/shopspring/decimal" "matchmaking-system/internal/pkg/utils" ) var ( MoneyForexCache *bigcache.BigCache // 综合-外汇买一卖一报价缓存 MoneyForexPriceSetUp *bigcache.BigCache // 综合-外汇插针价格缓存 MoneyForexImmediateCache *bigcache.BigCache // 综合-外汇即时报价缓存 MoneySpotsCache *bigcache.BigCache // 综合-现货行情缓存 MoneyContractCache *bigcache.BigCache // 综合-合约行情缓存 MoneyContractPriceSetUp *bigcache.BigCache // 综合-合约插针价格缓存 MoneyTotalFloating *bigcache.BigCache // 综合-(现货|合约|外汇)统计总浮动盈亏 ) // init // // @Description: 初始化内存缓存 func init() { MoneyForexCache = NewBigCache() MoneyForexPriceSetUp = NewBigCache() MoneyForexImmediateCache = NewBigCache() MoneySpotsCache = NewBigCache() MoneyContractCache = NewBigCache() MoneyContractPriceSetUp = NewBigCache() MoneyTotalFloating = NewBigCache() } // GetMoneySpotsCache // // @Description: 综合-现货行情数据 // @param key // @return []byte // @return error func GetMoneySpotsCache(key string) ([]byte, error) { conN, err := MoneySpotsCache.Get(key) if err != nil { return []byte{}, err } return conN, err } // GetMoneyContractCache // // @Description: 综合-合约行情数据 // @param key // @return []byte // @return error func GetMoneyContractCache(key string) ([]byte, error) { conP, err := MoneyContractPriceSetUp.Get(key) if err != nil || string(conP) == decimal.Zero.String() || len(utils.StrReplace(string(conP))) == 0 { conN, errs := MoneyContractCache.Get(key) if errs != nil { return []byte{}, errs } return conN, nil } return conP, err } // GetMoneyImmediateCache // // @Description: 综合-外汇实时行情 // @param key // @return []byte // @return error func GetMoneyForexImmediateCache(key string) ([]byte, error) { conP, err := MoneyForexPriceSetUp.Get(key) if err != nil || string(conP) == decimal.Zero.String() || len(utils.StrReplace(string(conP))) == 0 { conN, errs := MoneyForexImmediateCache.Get(key) if errs != nil { return []byte{}, errs } return conN, nil } return conP, err } // GetMoneyCache // // @Description: 综合-外汇(买一卖一)实时行情 // @param key // @return []byte // @return error func GetMoneyForexCache(key string) ([]byte, error) { conP, err := MoneyForexPriceSetUp.Get(key) if err != nil || string(conP) == decimal.Zero.String() || len(utils.StrReplace(string(conP))) == 0 { conN, errs := MoneyForexCache.Get(key) if errs != nil { return []byte{}, errs } return conN, nil } return conP, err }