*Redis TYPE 命令
返回 key 的数据类型。
*语法
TYPE key
*参数说明
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| key | String | 是 | 键名 |
*返回值
| 类型 | 返回值 |
|---|---|
| String | string |
| Hash | hash |
| List | list |
| Set | set |
| Sorted Set | zset |
| Stream | stream |
| key 不存在 | none |
*时间复杂度
O(1)
*
*示例
> SET strkey hello
> TYPE strkey
string
> HSET hashkey f v
> TYPE hashkey
hash
> LPUSH listkey a
> TYPE listkey
list
> SADD setkey a
> TYPE setkey
set
> ZADD zsetkey 1 a
> TYPE zsetkey
zset
> TYPE nokey
none
*常见错误
- 返回值是小写字符串:需用
string、hash等字符串判断,不是枚举类型。
*最佳实践
- 命令选择前判断:不确定 key 类型时先用 TYPE,避免 WRONGTYPE 错误。
- 调试排查:数据异常时先 TYPE 确认数据结构和预期是否一致。
*FAQ
Q: TYPE 能区分 String 和数字吗? A: 不能。Redis 的 String 可以存储文本或二进制数据,没有原生数字类型。
Q: Bitmap 和 HyperLogLog 返回什么类型?
A: Bitmap 底层是 String,返回 string;HyperLogLog 也是 string;Geo 是 zset;Stream 是 stream。