*Redis STRLEN 命令
返回 String 类型 key 的 value 长度(字节数)。
*语法
STRLEN key
*参数说明
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| key | String | 是 | 键名 |
*返回值
| 条件 | 返回值 |
|---|---|
| key 存在且为 String | value 的字节长度(Integer) |
| key 不存在 | 0 |
| key 非 String | WRONGTYPE 错误 |
*时间复杂度
O(1)
*
*示例
> SET mykey "Hello World"
OK
> STRLEN mykey
(integer) 11
> SET mykey "你好"
> STRLEN mykey
(integer) 6 # UTF-8 编码,每个汉字 3 字节
> STRLEN nonexistent
(integer) 0
*常见错误
- 对非 String 使用:返回 WRONGTYPE。
*最佳实践
- value 大小监控:STRLEN 监控 String value 大小,超过 10KB 时告警拆分。
- 二进制数据长度:STRLEN 返回字节数,非字符数。UTF-8 多字节字符需注意。
*FAQ
Q: STRLEN 返回字符数还是字节数? A: 字节数。Redis 的 String 是二进制安全的字节序列。
Q: 空字符串的 STRLEN? A: SET key "" 后 STRLEN 返回 0,与 key 不存在的返回值相同,需 EXISTS 区分。