*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

*常见错误

  1. 返回值是小写字符串:需用 stringhash 等字符串判断,不是枚举类型。

*最佳实践

  1. 命令选择前判断:不确定 key 类型时先用 TYPE,避免 WRONGTYPE 错误。
  2. 调试排查:数据异常时先 TYPE 确认数据结构和预期是否一致。

*FAQ

Q: TYPE 能区分 String 和数字吗? A: 不能。Redis 的 String 可以存储文本或二进制数据,没有原生数字类型。

Q: Bitmap 和 HyperLogLog 返回什么类型? A: Bitmap 底层是 String,返回 string;HyperLogLog 也是 string;Geo 是 zset;Stream 是 stream