我需要从redigo读取redis哈希。这个哈希有可变键。这会导致问题,因为ScanStruct要求我事先知道这些键,所以我可以把它放在一个结构中并将HGETALL结果解压缩到该结构中。
有没有办法解析具有未知密钥的redigo HGETALL结果?它不必与ScanStruct(甚至是redigo)一起使用,只要我可以从go内访问结果。
答案 0 :(得分:3)
ScanStruct
只是在将已知结构映射到redis哈希时的便利。
使用redis.StringMap
帮助函数获取map[string]string
。
一切都是redis是一个字符串,redigo库会为你转换值。您可以根据需要从字符串表示中轻松转换值。如果你想要没有第一个字符串转换的原始字节,你可以使用redis.Values
,它将返回[]interface{}
中的交替键和值。