从 GET 返回的值的 Redigo 类型

问题描述

我希望能够获取一个键的值并立即知道它是什么类型。我正在使用

res,err := conn.Do("GET",key)

这会在 interface{} 中返回一个 res。根据类型,我想调用一个辅助函数,如 redigo.String(res)redigo.Bool(res)。我知道我可以执行 conn.Do("TYPE",key) 来单独获取类型,但是如何仅从一个 GET 请求的结果中获取类型?

解决方法

等等,REDIS TYPE 命令不会为您提供值类型的详细信息,它只是告诉您键的值是字符串、列表、集合、zset、哈希还是流。

因此,您的应用程序代码或客户端代码必须确定与您的编程语言等效的内容。

您可以尝试使用已知的键值类型来解码您的数据。