func xdump(db *ledis.DB, tp string, key []byte) ([]byte, error) { var err error var data []byte switch strings.ToUpper(tp) { case KVName: data, err = db.Dump(key) case HashName: data, err = db.HDump(key) case ListName: data, err = db.LDump(key) case SetName: data, err = db.SDump(key) case ZSetName: data, err = db.ZDump(key) default: err = fmt.Errorf("invalid key type %s", tp) } return data, err }