package Nredis import ( l4g "proxy/logger" ) type BinLogPos struct { File string `redis:"file"` Position uint32 `redis:"position"` } func RdbSetBinLogPos(file string, pos uint32) error { err := rdb.HMSet(ctx, "binlogpos", "file", file, "position", pos).Err() if err != nil { l4g.RedisLog.Errorf("HMSet binlogpos %s %d, err: %v", file, pos, err) } return err } func RdbGetBinLogPos() *BinLogPos { // Get the map. The same approach works for HmGet(). res := rdb.HGetAll(ctx, "binlogpos") err := res.Err() if err != nil { l4g.RedisLog.Errorf("HGetAll binlogpos, err: %v", err) return nil } // Scan the results into the struct. var pos BinLogPos if err = res.Scan(&pos); err != nil { l4g.RedisLog.Errorf("HGetAll Scan binlogpos, err: %v", err) return nil } else { l4g.RedisLog.Debugf("Get binlogpos, [%v]", pos) return &pos } }